CINXE.COM

API deprecations · Cloudflare Fundamentals docs

<!doctype html> <html lang="en" dir="ltr" data-theme="dark" data-has-toc data-has-sidebar class="astro-bguv2lll"> <head> <base href="https://developers.cloudflare.com/fundamentals/api/reference/deprecations/"> <script type="module" src="/_astro/Head.astro_astro_type_script_index_0_lang.BN2-VQBT.js"></script> <script type="module" src="/_astro/Head.astro_astro_type_script_index_1_lang.SiXpPIU5.js"></script> <script type="module" src="/_astro/Head.astro_astro_type_script_index_2_lang.DawEFJ7Z.js"></script> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>API deprecations · Cloudflare Fundamentals docs</title> <link rel="canonical" href="https://developers.cloudflare.com/fundamentals/api/reference/deprecations/"> <link rel="sitemap" href="/sitemap-index.xml"> <link rel="alternate" type="application/rss+xml" href="https://developers.cloudflare.com/fundamentals/api/reference/deprecations/index.xml"> <link rel="shortcut icon" href="/favicon.png" type="image/png"> <meta name="generator" content="Astro v5.2.1"> <meta name="generator" content="Starlight v0.31.1"> <meta property="og:type" content="article"> <meta property="og:url" content="https://developers.cloudflare.com/fundamentals/api/reference/deprecations/"> <meta property="og:locale" content="en"> <meta property="og:description" content="Cloudflare occasionally makes updates to our APIs that result in behavior changes or deprecations. When this happens, we will communicate when the API will no longer be available and whether there will be a replacement."> <meta property="og:site_name" content="Cloudflare Docs"> <meta name="twitter:card" content="summary_large_image"> <meta name="description" content="Cloudflare occasionally makes updates to our APIs that result in behavior changes or deprecations. When this happens, we will communicate when the API will no longer be available and whether there will be a replacement."> <meta property="og:title" content="API deprecations · Cloudflare Fundamentals docs"> <meta name="pcx_product" content="Cloudflare Fundamentals"> <meta name="algolia_product_filter" content="Cloudflare Fundamentals"> <meta name="image" content="https://developers.cloudflare.com/core-services-preview.png"> <meta name="og:image" content="https://developers.cloudflare.com/core-services-preview.png"> <meta name="twitter:image" content="https://developers.cloudflare.com/core-services-preview.png"> <meta name="pcx_content_group" content="Cloudflare essentials"> <meta name="pcx_content_type" content="changelog"> <meta name="algolia_content_type" content="changelog"> <script> window.StarlightThemeProvider = (() => { const storedTheme = typeof localStorage !== 'undefined' && localStorage.getItem('starlight-theme'); const theme = storedTheme || (window.matchMedia('(prefers-color-scheme: light)').matches ? 'light' : 'dark'); document.documentElement.dataset.theme = theme === 'light' ? 'light' : 'dark'; return { updatePickers(theme = storedTheme || 'auto') { document.querySelectorAll('starlight-theme-select').forEach((picker) => { const select = picker.querySelector('select'); if (select) select.value = theme; /** @type {HTMLTemplateElement | null} */ const tmpl = document.querySelector(`#theme-icons`); const newIcon = tmpl && tmpl.content.querySelector('.' + theme); if (newIcon) { const oldIcon = picker.querySelector('svg.label-icon'); if (oldIcon) { oldIcon.replaceChildren(...newIcon.cloneNode(true).childNodes); } } }); }, }; })(); </script> <template id="theme-icons"> <svg aria-hidden="true" class="light astro-c6vsoqas" width="16" height="16" viewbox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"> <path d="M5 12a1 1 0 0 0-1-1H3a1 1 0 0 0 0 2h1a1 1 0 0 0 1-1Zm.64 5-.71.71a1 1 0 0 0 0 1.41 1 1 0 0 0 1.41 0l.71-.71A1 1 0 0 0 5.64 17ZM12 5a1 1 0 0 0 1-1V3a1 1 0 0 0-2 0v1a1 1 0 0 0 1 1Zm5.66 2.34a1 1 0 0 0 .7-.29l.71-.71a1 1 0 1 0-1.41-1.41l-.66.71a1 1 0 0 0 0 1.41 1 1 0 0 0 .66.29Zm-12-.29a1 1 0 0 0 1.41 0 1 1 0 0 0 0-1.41l-.71-.71a1.004 1.004 0 1 0-1.43 1.41l.73.71ZM21 11h-1a1 1 0 0 0 0 2h1a1 1 0 0 0 0-2Zm-2.64 6A1 1 0 0 0 17 18.36l.71.71a1 1 0 0 0 1.41 0 1 1 0 0 0 0-1.41l-.76-.66ZM12 6.5a5.5 5.5 0 1 0 5.5 5.5A5.51 5.51 0 0 0 12 6.5Zm0 9a3.5 3.5 0 1 1 0-7 3.5 3.5 0 0 1 0 7Zm0 3.5a1 1 0 0 0-1 1v1a1 1 0 0 0 2 0v-1a1 1 0 0 0-1-1Z" /> </svg> <svg aria-hidden="true" class="dark astro-c6vsoqas" width="16" height="16" viewbox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"> <path d="M21.64 13a1 1 0 0 0-1.05-.14 8.049 8.049 0 0 1-3.37.73 8.15 8.15 0 0 1-8.14-8.1 8.59 8.59 0 0 1 .25-2A1 1 0 0 0 8 2.36a10.14 10.14 0 1 0 14 11.69 1 1 0 0 0-.36-1.05Zm-9.5 6.69A8.14 8.14 0 0 1 7.08 5.22v.27a10.15 10.15 0 0 0 10.14 10.14 9.784 9.784 0 0 0 2.1-.22 8.11 8.11 0 0 1-7.18 4.32v-.04Z" /> </svg> <svg aria-hidden="true" class="auto astro-c6vsoqas" width="16" height="16" viewbox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"> <path d="M21 14h-1V7a3 3 0 0 0-3-3H7a3 3 0 0 0-3 3v7H3a1 1 0 0 0-1 1v2a3 3 0 0 0 3 3h14a3 3 0 0 0 3-3v-2a1 1 0 0 0-1-1ZM6 7a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v7H6V7Zm14 10a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1v-1h16v1Z" /> </svg> </template> <link rel="stylesheet" href="/_astro/print.BL8QyxEA.css" media="print"> <link rel="stylesheet" href="/_astro/props.DH3lyL-U.css"> <style>*,*:before,*:after{box-sizing:border-box}*{margin:0}html{color-scheme:dark;accent-color:var(--sl-color-accent)}html[data-theme=light]{color-scheme:light}body{font-family:var(--__sl-font);line-height:var(--sl-line-height);-webkit-font-smoothing:antialiased;color:var(--sl-color-text);background-color:var(--sl-color-bg)}input,button,textarea,select{font:inherit}p,h1,h2,h3,h4,h5,h6,code{overflow-wrap:anywhere}code{font-family:var(--__sl-font-mono)} :root{--astro-code-foreground: var(--sl-color-white);--astro-code-background: var(--sl-color-gray-6);--astro-code-token-constant: var(--sl-color-blue-high);--astro-code-token-string: var(--sl-color-green-high);--astro-code-token-comment: var(--sl-color-gray-2);--astro-code-token-keyword: var(--sl-color-purple-high);--astro-code-token-parameter: var(--sl-color-red-high);--astro-code-token-function: var(--sl-color-red-high);--astro-code-token-string-expression: var(--sl-color-green-high);--astro-code-token-punctuation: var(--sl-color-gray-2);--astro-code-token-link: var(--sl-color-blue-high)} html:not([data-has-toc]){--sl-content-width: 67.5rem} .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.sl-hidden{display:none}.sl-flex{display:flex}.sl-block{display:block}@media (min-width: 50rem){.md\:sl-hidden{display:none}.md\:sl-flex{display:flex}.md\:sl-block{display:block}}@media (min-width: 72rem){.lg\:sl-hidden{display:none}.lg\:sl-flex{display:flex}.lg\:sl-block{display:block}}[data-theme=light] .light\:sl-hidden,[data-theme=dark] .dark\:sl-hidden{display:none}[dir=rtl] .rtl\:flip:not(:where([dir=rtl] [dir=ltr] *)){transform:scaleX(-1)} .sl-banner:where(.astro-laz2plt2){--__sl-banner-text: var(--sl-color-banner-text, var(--sl-color-text-invert));padding:var(--sl-nav-pad-y) var(--sl-nav-pad-x);background-color:var(--sl-color-banner-bg, var(--sl-color-bg-accent));color:var(--__sl-banner-text);line-height:var(--sl-line-height-headings);text-align:center;text-wrap:balance;box-shadow:var(--sl-shadow-sm)}.sl-banner:where(.astro-laz2plt2) a{color:var(--__sl-banner-text)} .content-panel:where(.astro-7nkwcw3z){padding:1.5rem var(--sl-content-pad-x)}.content-panel:where(.astro-7nkwcw3z)+.content-panel:where(.astro-7nkwcw3z){border-top:1px solid var(--sl-color-hairline)}.sl-container:where(.astro-7nkwcw3z){max-width:var(--sl-content-width)}.sl-container:where(.astro-7nkwcw3z)>*+*{margin-top:1.5rem}@media (min-width: 72rem){.sl-container:where(.astro-7nkwcw3z){margin-inline:var(--sl-content-margin-inline, auto)}} p:where(.astro-opzsrvew){border:1px solid var(--sl-color-orange);padding:.75em 1em;background-color:var(--sl-color-orange-low);color:var(--sl-color-orange-high);width:-moz-max-content;width:max-content;max-width:100%;align-items:center;gap:.75em;font-size:var(--sl-text-body-sm);line-height:var(--sl-line-height-headings)} #ot-sdk-btn:where(.astro-hwxmvrii).ot-sdk-show-settings{border:none!important;color:inherit!important;font-size:inherit!important;line-height:inherit!important;padding:inherit!important;font-family:var(--sl-font-family)!important;background-color:inherit!important}#ot-sdk-btn:where(.astro-hwxmvrii).ot-sdk-show-settings:hover{background-color:inherit!important} a:where(.astro-eez2twj6){gap:.5rem;align-items:center;text-decoration:none;color:var(--sl-color-gray-3)}a:where(.astro-eez2twj6):hover{color:var(--sl-color-white)} .tippy-box[data-animation=fade][data-state=hidden]{opacity:0}[data-tippy-root]{max-width:calc(100vw - 10px)}.tippy-box{position:relative;background-color:#333;color:#fff;border-radius:4px;font-size:14px;line-height:1.4;white-space:normal;outline:0;transition-property:transform,visibility,opacity}.tippy-box[data-placement^=top]>.tippy-arrow{bottom:0}.tippy-box[data-placement^=top]>.tippy-arrow:before{bottom:-7px;left:0;border-width:8px 8px 0;border-top-color:initial;transform-origin:center top}.tippy-box[data-placement^=bottom]>.tippy-arrow{top:0}.tippy-box[data-placement^=bottom]>.tippy-arrow:before{top:-7px;left:0;border-width:0 8px 8px;border-bottom-color:initial;transform-origin:center bottom}.tippy-box[data-placement^=left]>.tippy-arrow{right:0}.tippy-box[data-placement^=left]>.tippy-arrow:before{border-width:8px 0 8px 8px;border-left-color:initial;right:-7px;transform-origin:center left}.tippy-box[data-placement^=right]>.tippy-arrow{left:0}.tippy-box[data-placement^=right]>.tippy-arrow:before{left:-7px;border-width:8px 8px 8px 0;border-right-color:initial;transform-origin:center right}.tippy-box[data-inertia][data-state=visible]{transition-timing-function:cubic-bezier(.54,1.5,.38,1.11)}.tippy-arrow{width:16px;height:16px;color:#333}.tippy-arrow:before{content:"";position:absolute;border-color:transparent;border-style:solid}.tippy-content{position:relative;padding:5px 9px;z-index:1} footer{flex-direction:column-reverse!important}.meta{margin-top:0!important}.pagination-links{margin-top:3rem!important}.feedback-prompt:where(.astro-fxeopwe4){h2{color:var(--sl-color-white);font-size:var(--sl-text-h5);font-weight:600;line-height:var(--sl-line-height-headings);margin-bottom:.5rem}}@media (min-width: 72rem){html[data-has-toc]{.feedback-prompt{display:none}}}.bleed:where(.astro-fxeopwe4){box-shadow:0 0 0 100vmax #001c43!important;clip-path:inset(0 -100vmax)} </style> <link rel="stylesheet" href="/_astro/markdown.BRpEnTxT.css"> <style>.pagination-links:where(.astro-u2l5gyhi){display:grid;grid-template-columns:repeat(auto-fit,minmax(min(18rem,100%),1fr));gap:1rem}a:where(.astro-u2l5gyhi){display:flex;align-items:center;justify-content:flex-start;gap:.5rem;width:100%;flex-basis:calc(50% - .5rem);flex-grow:1;border:1px solid var(--sl-color-gray-5);border-radius:.5rem;padding:1rem;text-decoration:none;color:var(--sl-color-gray-2);box-shadow:var(--sl-shadow-md);overflow-wrap:anywhere}:where(.astro-u2l5gyhi)[rel=next]{justify-content:end;text-align:end;flex-direction:row-reverse}a:where(.astro-u2l5gyhi):hover{border-color:var(--sl-color-gray-2)}.link-title:where(.astro-u2l5gyhi){color:var(--sl-color-white);font-size:var(--sl-text-2xl);line-height:var(--sl-line-height-headings)}svg:where(.astro-u2l5gyhi){flex-shrink:0} </style> <link rel="stylesheet" href="/_astro/modal.BU9zpcET.css"> <style>:root{--docsearch-primary-color: var(--sl-color-text-accent);--docsearch-text-color: var(--sl-color-text);--docsearch-spacing: 12px;--docsearch-icon-stroke-width: 1.4;--docsearch-highlight-color: var(--docsearch-primary-color);--docsearch-muted-color: var(--sl-color-gray-3);--docsearch-container-background: var(--sl-color-backdrop-overlay);--docsearch-modal-width: 560px;--docsearch-modal-height: 600px;--docsearch-modal-background: var(--sl-color-gray-6);--docsearch-modal-shadow: var(--sl-shadow-lg);--docsearch-searchbox-height: 56px;--docsearch-searchbox-background: var(--sl-color-gray-7, var(--sl-color-gray-6));--docsearch-searchbox-focus-background: var(--sl-color-black);--docsearch-searchbox-shadow: inset 0 0 0 1px var(--docsearch-primary-color);--docsearch-hit-height: 56px;--docsearch-hit-color: var(--sl-color-white);--docsearch-hit-active-color: var(--sl-color-black);--docsearch-hit-background: var(--sl-color-black);--docsearch-key-gradient: linear-gradient( var(--sl-color-bg-inline-code) 0%, var(--sl-color-bg-inline-code) 100% );--docsearch-footer-height: 44px;--docsearch-footer-background: var(--sl-color-black);--docsearch-footer-shadow: 0 -1px 0 0 var(--sl-color-hairline-light)}.DocSearch-Modal{border:1px solid var(--sl-color-hairline-light)}.DocSearch-Logo svg *{fill:var(--docsearch-muted-color)} footer:where(.astro-3yyafb3n){flex-direction:column;gap:1.5rem}.meta:where(.astro-3yyafb3n){gap:.75rem 3rem;justify-content:space-between;flex-wrap:wrap;margin-top:3rem;font-size:var(--sl-text-sm);color:var(--sl-color-gray-3)}.meta:where(.astro-3yyafb3n)>p:only-child{margin-inline-start:auto}.kudos:where(.astro-3yyafb3n){align-items:center;gap:.5em;margin:1.5rem auto;font-size:var(--sl-text-xs);text-decoration:none;color:var(--sl-color-gray-3)}.kudos:where(.astro-3yyafb3n) svg{color:var(--sl-color-orange)}.kudos:where(.astro-3yyafb3n):hover{color:var(--sl-color-white)} .hero:where(.astro-opidluyl){display:grid;align-items:center;gap:1rem;padding-bottom:1rem}.hero:where(.astro-opidluyl)>img:where(.astro-opidluyl),.hero:where(.astro-opidluyl)>.hero-html:where(.astro-opidluyl){-o-object-fit:contain;object-fit:contain;width:min(70%,20rem);height:auto;margin-inline:auto}.stack:where(.astro-opidluyl){flex-direction:column;gap:clamp(1.5rem,calc(1.5rem + 1vw),2rem);text-align:center}.copy:where(.astro-opidluyl){flex-direction:column;gap:1rem;align-items:center}a:where(.astro-opidluyl){color:var(--sl-color-white)}h1:where(.astro-opidluyl){font-size:clamp(var(--sl-text-3xl),calc(.25rem + 5vw),var(--sl-text-6xl));line-height:var(--sl-line-height-headings);font-weight:600;color:var(--sl-color-white)}.tagline:where(.astro-opidluyl){font-size:clamp(var(--sl-text-base),calc(.0625rem + 2vw),var(--sl-text-xl));color:var(--sl-color-gray-2)}.actions:where(.astro-opidluyl){gap:1rem 2rem;flex-wrap:wrap;justify-content:center}.copy:where(.astro-opidluyl)>.links:where(.astro-opidluyl){gap:0;flex-direction:row;flex-wrap:wrap}@media (min-width: 50rem){.hero:where(.astro-opidluyl){grid-template-columns:7fr 4fr;gap:3%;padding-block:clamp(2.5rem,calc(1rem + 10vmin),10rem)}.hero:where(.astro-opidluyl)>img:where(.astro-opidluyl),.hero:where(.astro-opidluyl)>.hero-html:where(.astro-opidluyl){order:2;width:min(100%,25rem)}.stack:where(.astro-opidluyl){text-align:start}.copy:where(.astro-opidluyl){align-items:flex-start}.actions:where(.astro-opidluyl){justify-content:flex-start}} .sl-markdown-content:where(.astro-cedpceuv) .heading-wrapper{--icon-size: .75em;--icon-spacing: .25em;line-height:var(--sl-line-height-headings)}.sl-markdown-content:where(.astro-cedpceuv) :not(.heading-wrapper)+:is(.heading-wrapper):not(:where(.not-content *)){margin-top:1.5em}.sl-markdown-content:where(.astro-cedpceuv) .level-h2{font-size:var(--sl-text-h2)}.sl-markdown-content:where(.astro-cedpceuv) .level-h3{font-size:var(--sl-text-h3)}.sl-markdown-content:where(.astro-cedpceuv) .level-h4{font-size:var(--sl-text-h4)}.sl-markdown-content:where(.astro-cedpceuv) .level-h5{font-size:var(--sl-text-h5)}.sl-markdown-content:where(.astro-cedpceuv) .heading-wrapper>:first-child{margin-inline-end:calc(var(--icon-size) + var(--icon-spacing));display:inline}.sl-markdown-content:where(.astro-cedpceuv) .anchor-link{margin-inline-start:calc(-1 * (var(--icon-size)));color:var(--sl-color-gray-3)}.sl-markdown-content:where(.astro-cedpceuv) .anchor-link:hover,.sl-markdown-content:where(.astro-cedpceuv) .anchor-link:focus{color:var(--sl-color-text-accent)}.sl-markdown-content:where(.astro-cedpceuv) .heading-wrapper svg{display:inline;width:var(--icon-size)}.sl-markdown-content:where(.astro-cedpceuv) .anchor-link .sr-only{-webkit-user-select:none;-moz-user-select:none;user-select:none}@media (hover: hover){.sl-markdown-content:where(.astro-cedpceuv) .anchor-link{opacity:0}}.sl-markdown-content:where(.astro-cedpceuv) .heading-wrapper:hover>.anchor-link,.sl-markdown-content:where(.astro-cedpceuv) .anchor-link:focus{opacity:1}@media (min-width: 95em){.sl-markdown-content:where(.astro-cedpceuv) .heading-wrapper{display:flex;flex-direction:row-reverse;justify-content:flex-end;gap:var(--icon-spacing);margin-inline-start:calc(-1 * (var(--icon-size) + var(--icon-spacing)))}.sl-markdown-content:where(.astro-cedpceuv) .heading-wrapper>:first-child,.sl-markdown-content:where(.astro-cedpceuv) .anchor-link{margin:0}} .page:where(.astro-vrdttmbt){flex-direction:column;min-height:100vh}.header:where(.astro-vrdttmbt){z-index:var(--sl-z-index-navbar);position:fixed;inset-inline-start:0;inset-block-start:0;width:100%;height:var(--sl-nav-height);border-bottom:1px solid var(--sl-color-hairline-shade);padding:var(--sl-nav-pad-y) var(--sl-nav-pad-x);padding-inline-end:var(--sl-nav-pad-x);background-color:var(--sl-color-bg-nav)}[data-has-sidebar] .header:where(.astro-vrdttmbt){padding-inline-end:calc(var(--sl-nav-gap) + var(--sl-nav-pad-x) + var(--sl-menu-button-size))}.sidebar-pane:where(.astro-vrdttmbt){visibility:var(--sl-sidebar-visibility, hidden);position:fixed;z-index:var(--sl-z-index-menu);inset-block:var(--sl-nav-height) 0;inset-inline-start:0;width:100%;background-color:var(--sl-color-black);overflow-y:auto}[aria-expanded=true]~.sidebar-pane:where(.astro-vrdttmbt){--sl-sidebar-visibility: visible}.sidebar-content:where(.astro-vrdttmbt){height:100%;min-height:-moz-max-content;min-height:max-content;padding:1rem var(--sl-sidebar-pad-x) 0;flex-direction:column;gap:1rem}@media (min-width: 50rem){.sidebar-content:where(.astro-vrdttmbt):after{content:"";padding-bottom:1px}}.main-frame:where(.astro-vrdttmbt){padding-top:calc(var(--sl-nav-height) + var(--sl-mobile-toc-height));padding-inline-start:var(--sl-content-inline-start)}@media (min-width: 50rem){[data-has-sidebar] .header:where(.astro-vrdttmbt){padding-inline-end:var(--sl-nav-pad-x)}.sidebar-pane:where(.astro-vrdttmbt){--sl-sidebar-visibility: visible;width:var(--sl-sidebar-width);background-color:var(--sl-color-bg-sidebar);border-inline-end:1px solid var(--sl-color-hairline-shade)}} .DocSearch-Button{display:flex;align-items:center;gap:.5rem;border:0;background-color:transparent;color:var(--sl-color-gray-1);cursor:pointer;height:2.5rem;font-size:var(--sl-text-xl)}.DocSearch-Button-Container{display:contents}.DocSearch-Search-Icon{width:.875em;height:.875em;stroke-width:.125rem}.DocSearch-Button-Placeholder,.DocSearch-Button-Keys,.DocSearch-Button-Key{display:none}@media (min-width: 50rem){sl-doc-search{width:100%}.DocSearch-Button{border:1px solid var(--sl-color-gray-5);border-radius:.5rem;padding-inline-start:.75rem;padding-inline-end:1rem;background-color:var(--sl-color-black);color:var(--sl-color-gray-2);font-size:var(--sl-text-sm);width:100%;max-width:22rem}.DocSearch-Button:hover{border-color:var(--sl-color-gray-2);color:var(--sl-color-white)}.DocSearch-Button-Placeholder,.DocSearch-Button-Keys{display:flex}.DocSearch-Button-Keys{margin-inline-start:auto}.DocSearch-Button-Keys:before{content:"";width:1em;height:1em;-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M17 2H7a5 5 0 0 0-5 5v10a5 5 0 0 0 5 5h10a5 5 0 0 0 5-5V7a5 5 0 0 0-5-5Zm3 15a3 3 0 0 1-3 3H7a3 3 0 0 1-3-3V7a3 3 0 0 1 3-3h10a3 3 0 0 1 3 3v10Z'%3E%3C/path%3E%3Cpath d='M15.293 6.707a1 1 0 1 1 1.414 1.414l-8.485 8.486a1 1 0 0 1-1.414-1.415l8.485-8.485Z'%3E%3C/path%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M17 2H7a5 5 0 0 0-5 5v10a5 5 0 0 0 5 5h10a5 5 0 0 0 5-5V7a5 5 0 0 0-5-5Zm3 15a3 3 0 0 1-3 3H7a3 3 0 0 1-3-3V7a3 3 0 0 1 3-3h10a3 3 0 0 1 3 3v10Z'%3E%3C/path%3E%3Cpath d='M15.293 6.707a1 1 0 1 1 1.414 1.414l-8.485 8.486a1 1 0 0 1-1.414-1.415l8.485-8.485Z'%3E%3C/path%3E%3C/svg%3E");-webkit-mask-size:100%;mask-size:100%;background-color:currentColor}} [data-mobile-menu-expanded]{overflow:hidden}@media (min-width: 50rem){[data-mobile-menu-expanded]{overflow:auto}} .hero:where(.astro-jbfsktt5){display:grid;align-items:center;gap:1rem;padding-bottom:1rem}.hero:where(.astro-jbfsktt5)>img:where(.astro-jbfsktt5),.hero:where(.astro-jbfsktt5)>.hero-html:where(.astro-jbfsktt5){-o-object-fit:contain;object-fit:contain;width:min(70%,20rem);height:auto;margin-inline:auto}.stack:where(.astro-jbfsktt5){flex-direction:column;gap:clamp(1.5rem,calc(1.5rem + 1vw),2rem);text-align:center}.copy:where(.astro-jbfsktt5){flex-direction:column;gap:1rem;align-items:center}.copy:where(.astro-jbfsktt5)>:where(.astro-jbfsktt5){max-width:50ch}h1:where(.astro-jbfsktt5){font-size:clamp(var(--sl-text-3xl),calc(.25rem + 5vw),var(--sl-text-6xl));line-height:var(--sl-line-height-headings);font-weight:600;color:var(--sl-color-white)}.tagline:where(.astro-jbfsktt5){font-size:clamp(var(--sl-text-base),calc(.0625rem + 2vw),var(--sl-text-xl));color:var(--sl-color-gray-2)}.actions:where(.astro-jbfsktt5){gap:1rem 2rem;flex-wrap:wrap;justify-content:center}@media (min-width: 50rem){.hero:where(.astro-jbfsktt5){grid-template-columns:7fr 4fr;gap:3%;padding-block:clamp(2.5rem,calc(1rem + 10vmin),10rem)}.hero:where(.astro-jbfsktt5)>img:where(.astro-jbfsktt5),.hero:where(.astro-jbfsktt5)>.hero-html:where(.astro-jbfsktt5){order:2;width:min(100%,25rem)}.stack:where(.astro-jbfsktt5){text-align:start}.copy:where(.astro-jbfsktt5){align-items:flex-start}.actions:where(.astro-jbfsktt5){justify-content:flex-start}} dialog:where(.astro-vjux6bgf){background:transparent;border:0;height:100vh;height:100dvh;margin:0;max-height:none;max-width:none;overflow:hidden;padding:0;position:fixed;width:100vw;width:100dvw}dialog:where(.astro-vjux6bgf)::backdrop{background:var(--starlight-image-zoom-backdrop-bg, var(--sl-color-black));opacity:0}.starlight-image-zoom-opened dialog:where(.astro-vjux6bgf)::backdrop{opacity:1}figure:where(.astro-vjux6bgf){cursor:zoom-out;height:100%;position:relative;width:100%}figure:where(.astro-vjux6bgf) figcaption{background-color:color-mix(in srgb,var(--sl-color-bg-nav),transparent 10%);border-top:1px solid var(--sl-color-hairline);cursor:initial;inset:auto 0 0;opacity:0;padding:var(--sl-nav-pad-y) var(--sl-nav-pad-x);position:absolute}@media (prefers-reduced-transparency){figure:where(.astro-vjux6bgf) figcaption{background-color:var(--sl-color-bg-nav)}}.starlight-image-zoom-opened figure:where(.astro-vjux6bgf) figcaption{opacity:1}button:where(.astro-vjux6bgf){cursor:zoom-out;opacity:0;z-index:1}.starlight-image-zoom-opened button:where(.astro-vjux6bgf){opacity:1}@media (prefers-reduced-motion: no-preference){button:where(.astro-vjux6bgf),dialog:where(.astro-vjux6bgf)::backdrop,figure:where(.astro-vjux6bgf) figcaption{transition:opacity var(--starlight-image-zoom-animation-duration)}} button:where(.astro-jif73yzw){position:fixed;top:calc((var(--sl-nav-height) - var(--sl-menu-button-size)) / 2);inset-inline-end:var(--sl-nav-pad-x);z-index:var(--sl-z-index-navbar);border:0;border-radius:50%;width:var(--sl-menu-button-size);height:var(--sl-menu-button-size);padding:.5rem;background-color:var(--sl-color-white);color:var(--sl-color-black);box-shadow:var(--sl-shadow-md);cursor:pointer}:where(.astro-jif73yzw)[aria-expanded=true] button:where(.astro-jif73yzw){background-color:var(--sl-color-gray-2);box-shadow:none}[data-theme=light] button:where(.astro-jif73yzw){background-color:var(--sl-color-black);color:var(--sl-color-white)}[data-theme=light] :where(.astro-jif73yzw)[aria-expanded=true] button:where(.astro-jif73yzw){background-color:var(--sl-color-gray-5)} .site-title:where(.astro-m46x6ez3){align-items:center;gap:var(--sl-nav-gap);font-size:var(--sl-text-h4);font-weight:600;color:var(--sl-color-text-accent);text-decoration:none;white-space:nowrap}img:where(.astro-m46x6ez3){height:calc(var(--sl-nav-height) - 2 * var(--sl-nav-pad-y));width:auto;max-width:100%;-o-object-fit:contain;object-fit:contain;-o-object-position:0 50%;object-position:0 50%} :root{.social-icons{--sl-icon-color: var(--sl-color-text)}} :root{--starlight-image-zoom-animation-duration: .3s}starlight-image-zoom-zoomable{display:inline-block;position:relative;width:100%}starlight-image-zoom-zoomable img{cursor:zoom-in}starlight-image-zoom-zoomable button{cursor:zoom-in}starlight-image-zoom-zoomable button:not(:focus):not(:focus-within){border:none;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;white-space:nowrap;width:1px}.starlight-image-zoom-control{background-color:var(--sl-color-bg-nav);border:2px solid var(--sl-color-gray-2);border-radius:50%;display:grid;height:44px;inset:20px auto auto 20px;margin-top:0!important;padding:10px;place-items:center;position:absolute;width:44px}:is(.starlight-image-zoom-opened,.starlight-image-zoom-transition) .starlight-image-zoom-control{inset:20px 20px auto auto}.starlight-image-zoom-source{visibility:hidden}.starlight-image-zoom-image{cursor:zoom-out}@media (prefers-reduced-motion: no-preference){.starlight-image-zoom-image{transition:transform var(--starlight-image-zoom-animation-duration) cubic-bezier(.4,0,.2,1)}} .header:where(.astro-kmkmnagf){gap:var(--sl-nav-gap);justify-content:space-between;align-items:center;height:100%}.title-wrapper:where(.astro-kmkmnagf){overflow:clip;padding:.25rem;margin:-.25rem;min-width:0}.right-group:where(.astro-kmkmnagf),.social-icons:where(.astro-kmkmnagf){gap:1rem;align-items:center}.social-icons:where(.astro-kmkmnagf):after{content:"";height:2rem;border-inline-end:1px solid var(--sl-color-gray-5)}@media (min-width: 50rem){:root[data-has-sidebar]{--__sidebar-pad: calc(2 * var(--sl-nav-pad-x))}:root:not([data-has-toc]){--__toc-width: 0rem}.header:where(.astro-kmkmnagf){--__sidebar-width: max(0rem, var(--sl-content-inline-start, 0rem) - var(--sl-nav-pad-x));--__main-column-fr: calc( ( 100% + var(--__sidebar-pad, 0rem) - var(--__toc-width, var(--sl-sidebar-width)) - (2 * var(--__toc-width, var(--sl-nav-pad-x))) - var(--sl-content-inline-start, 0rem) - var(--sl-content-width) ) / 2 );display:grid;grid-template-columns:minmax(calc(var(--__sidebar-width) + max(0rem,var(--__main-column-fr) - var(--sl-nav-gap))),auto) 1fr auto;align-content:center}} .right-sidebar-panel:where(.astro-pb3aqygn){padding:1rem var(--sl-sidebar-pad-x)}.sl-container:where(.astro-pb3aqygn){width:calc(var(--sl-sidebar-width) - 2 * var(--sl-sidebar-pad-x))}.right-sidebar-panel:where(.astro-pb3aqygn) h2{color:var(--sl-color-white);font-size:var(--sl-text-h5);font-weight:600;line-height:var(--sl-line-height-headings);margin-bottom:.5rem}.right-sidebar-panel:where(.astro-pb3aqygn) :where(a){display:block;font-size:var(--sl-text-xs);text-decoration:none;color:var(--sl-color-gray-3);overflow-wrap:anywhere}.right-sidebar-panel:where(.astro-pb3aqygn) :where(a):hover{color:var(--sl-color-white)}@media (min-width: 72rem){.sl-container:where(.astro-pb3aqygn){max-width:calc(((100vw - var(--sl-sidebar-width) - 2 * var(--sl-content-pad-x) - 2 * var(--sl-sidebar-pad-x)) * .25))}} :root{--sl-badge-default-border: var(--sl-color-accent);--sl-badge-default-bg: var(--sl-color-accent-low);--sl-badge-default-text: #fff;--sl-badge-note-border: var(--sl-color-blue);--sl-badge-note-bg: var(--sl-color-blue-low);--sl-badge-note-text: #fff;--sl-badge-danger-border: var(--sl-color-red);--sl-badge-danger-bg: var(--sl-color-red-low);--sl-badge-danger-text: #fff;--sl-badge-success-border: var(--sl-color-green);--sl-badge-success-bg: var(--sl-color-green-low);--sl-badge-success-text: #fff;--sl-badge-caution-border: var(--sl-color-orange);--sl-badge-caution-bg: var(--sl-color-orange-low);--sl-badge-caution-text: #fff;--sl-badge-tip-border: var(--sl-color-purple);--sl-badge-tip-bg: var(--sl-color-purple-low);--sl-badge-tip-text: #fff}[data-theme=light]:root{--sl-badge-default-bg: var(--sl-color-accent-high);--sl-badge-note-bg: var(--sl-color-blue-high);--sl-badge-danger-bg: var(--sl-color-red-high);--sl-badge-success-bg: var(--sl-color-green-high);--sl-badge-caution-bg: var(--sl-color-orange-high);--sl-badge-tip-bg: var(--sl-color-purple-high)}.sl-badge:where(.astro-avdet4wd){display:inline-block;border:1px solid var(--sl-color-border-badge);border-radius:.25rem;font-family:var(--sl-font-system-mono);line-height:normal;color:var(--sl-color-text-badge);background-color:var(--sl-color-bg-badge);overflow-wrap:anywhere}.sidebar-content .sl-badge:where(.astro-avdet4wd){line-height:1;font-size:var(--sl-text-xs);padding:.125rem .375rem}.sidebar-content a[aria-current=page]>.sl-badge:where(.astro-avdet4wd){--sl-color-bg-badge: transparent;--sl-color-border-badge: currentColor;color:inherit}.default:where(.astro-avdet4wd){--sl-color-bg-badge: var(--sl-badge-default-bg);--sl-color-border-badge: var(--sl-badge-default-border);--sl-color-text-badge: var(--sl-badge-default-text)}.note:where(.astro-avdet4wd){--sl-color-bg-badge: var(--sl-badge-note-bg);--sl-color-border-badge: var(--sl-badge-note-border);--sl-color-text-badge: var(--sl-badge-note-text)}.danger:where(.astro-avdet4wd){--sl-color-bg-badge: var(--sl-badge-danger-bg);--sl-color-border-badge: var(--sl-badge-danger-border);--sl-color-text-badge: var(--sl-badge-danger-text)}.success:where(.astro-avdet4wd){--sl-color-bg-badge: var(--sl-badge-success-bg);--sl-color-border-badge: var(--sl-badge-success-border);--sl-color-text-badge: var(--sl-badge-success-text)}.tip:where(.astro-avdet4wd){--sl-color-bg-badge: var(--sl-badge-tip-bg);--sl-color-border-badge: var(--sl-badge-tip-border);--sl-color-text-badge: var(--sl-badge-tip-text)}.caution:where(.astro-avdet4wd){--sl-color-bg-badge: var(--sl-badge-caution-bg);--sl-color-border-badge: var(--sl-badge-caution-border);--sl-color-text-badge: var(--sl-badge-caution-text)}.small:where(.astro-avdet4wd){font-size:var(--sl-text-xs);padding:.125rem .25rem}.medium:where(.astro-avdet4wd){font-size:var(--sl-text-sm);padding:.175rem .35rem}.large:where(.astro-avdet4wd){font-size:var(--sl-text-base);padding:.225rem .45rem}.sl-markdown-content :is(h1,h2,h3,h4,h5,h6) .sl-badge:where(.astro-avdet4wd){vertical-align:middle} .card-grid:where(.astro-zntqmydn){display:grid;grid-template-columns:100%;gap:1rem}.card-grid:where(.astro-zntqmydn)>*{margin-top:0!important}@media (min-width: 50rem){.card-grid:where(.astro-zntqmydn){grid-template-columns:1fr 1fr;gap:1.5rem}.stagger:where(.astro-zntqmydn){--stagger-height: 5rem;padding-bottom:var(--stagger-height)}.stagger:where(.astro-zntqmydn)>*:nth-child(2n){transform:translateY(var(--stagger-height))}} .card:where(.astro-v5tidmuc){--sl-card-border: var(--sl-color-purple);--sl-card-bg: var(--sl-color-purple-low);border:1px solid var(--sl-color-gray-5);background-color:var(--sl-color-black);padding:clamp(1rem,calc(.125rem + 3vw),2.5rem);flex-direction:column;gap:clamp(.5rem,calc(.125rem + 1vw),1rem)}.card:where(.astro-v5tidmuc):nth-child(4n+1){--sl-card-border: var(--sl-color-orange);--sl-card-bg: var(--sl-color-orange-low)}.card:where(.astro-v5tidmuc):nth-child(4n+3){--sl-card-border: var(--sl-color-green);--sl-card-bg: var(--sl-color-green-low)}.card:where(.astro-v5tidmuc):nth-child(4n+4){--sl-card-border: var(--sl-color-red);--sl-card-bg: var(--sl-color-red-low)}.card:where(.astro-v5tidmuc):nth-child(4n+5){--sl-card-border: var(--sl-color-blue);--sl-card-bg: var(--sl-color-blue-low)}.title:where(.astro-v5tidmuc){font-weight:600;font-size:var(--sl-text-h4);color:var(--sl-color-white);line-height:var(--sl-line-height-headings);gap:1rem;align-items:center}.card:where(.astro-v5tidmuc) .icon:where(.astro-v5tidmuc){border:1px solid var(--sl-card-border);background-color:var(--sl-card-bg);padding:.2em;border-radius:.25rem}.card:where(.astro-v5tidmuc) .body:where(.astro-v5tidmuc){margin:0;font-size:clamp(var(--sl-text-sm),calc(.5rem + 1vw),var(--sl-text-body))} label:where(.astro-4yphtoen){--sl-label-icon-size: .875rem;--sl-caret-size: 1.25rem;--sl-inline-padding: .5rem;position:relative;display:flex;align-items:center;gap:.25rem;color:var(--sl-color-gray-1)}label:where(.astro-4yphtoen):hover{color:var(--sl-color-gray-2)}.icon:where(.astro-4yphtoen){position:absolute;top:50%;transform:translateY(-50%);pointer-events:none}.label-icon:where(.astro-4yphtoen){font-size:var(--sl-label-icon-size);inset-inline-start:0}.caret:where(.astro-4yphtoen){font-size:var(--sl-caret-size);inset-inline-end:0}select:where(.astro-4yphtoen){border:0;padding-block:.625rem;padding-inline:calc(var(--sl-label-icon-size) + var(--sl-inline-padding) + .25rem) calc(var(--sl-caret-size) + var(--sl-inline-padding) + .25rem);margin-inline:calc(var(--sl-inline-padding) * -1);width:calc(var(--sl-select-width) + var(--sl-inline-padding) * 2);background-color:transparent;text-overflow:ellipsis;color:inherit;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none}option:where(.astro-4yphtoen){background-color:var(--sl-color-bg-nav);color:var(--sl-color-gray-1)}@media (min-width: 50rem){select:where(.astro-4yphtoen){font-size:var(--sl-text-sm)}} ul:where(.astro-g2bywc46){padding:0;list-style:none}a:where(.astro-g2bywc46){--pad-inline: .5rem;display:block;border-radius:.25rem;padding-block:.25rem;padding-inline:calc(1rem * var(--depth) + var(--pad-inline)) var(--pad-inline);line-height:1.25}a:where(.astro-g2bywc46)[aria-current=true]{color:var(--sl-color-text-accent)}.isMobile:where(.astro-g2bywc46) a:where(.astro-g2bywc46){--pad-inline: 1rem;display:flex;justify-content:space-between;gap:var(--pad-inline);border-top:1px solid var(--sl-color-gray-6);border-radius:0;padding-block:.5rem;color:var(--sl-color-text);font-size:var(--sl-text-sm);text-decoration:none;outline-offset:var(--sl-outline-offset-inside)}.isMobile:where(.astro-g2bywc46):first-child>li:where(.astro-g2bywc46):first-child>a:where(.astro-g2bywc46){border-top:0}.isMobile:where(.astro-g2bywc46) a:where(.astro-g2bywc46)[aria-current=true],.isMobile:where(.astro-g2bywc46) a:where(.astro-g2bywc46)[aria-current=true]:hover,.isMobile:where(.astro-g2bywc46) a:where(.astro-g2bywc46)[aria-current=true]:focus{color:var(--sl-color-white);background-color:unset}.isMobile:where(.astro-g2bywc46) a:where(.astro-g2bywc46)[aria-current=true]:after{content:"";width:1rem;background-color:var(--sl-color-text-accent);-webkit-mask-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNCAxNCc+PHBhdGggZD0nTTEwLjkxNCA0LjIwNmEuNTgzLjU4MyAwIDAgMC0uODI4IDBMNS43NCA4LjU1NyAzLjkxNCA2LjcyNmEuNTk2LjU5NiAwIDAgMC0uODI4Ljg1N2wyLjI0IDIuMjRhLjU4My41ODMgMCAwIDAgLjgyOCAwbDQuNzYtNC43NmEuNTgzLjU4MyAwIDAgMCAwLS44NTdaJy8+PC9zdmc+Cg==);mask-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNCAxNCc+PHBhdGggZD0nTTEwLjkxNCA0LjIwNmEuNTgzLjU4MyAwIDAgMC0uODI4IDBMNS43NCA4LjU1NyAzLjkxNCA2LjcyNmEuNTk2LjU5NiAwIDAgMC0uODI4Ljg1N2wyLjI0IDIuMjRhLjU4My41ODMgMCAwIDAgLjgyOCAwbDQuNzYtNC43NmEuNTgzLjU4MyAwIDAgMCAwLS44NTdaJy8+PC9zdmc+Cg==);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;flex-shrink:0} nav:where(.astro-doynk5tl){position:fixed;z-index:var(--sl-z-index-toc);top:calc(var(--sl-nav-height) - 1px);inset-inline:0;border-top:1px solid var(--sl-color-gray-5);background-color:var(--sl-color-bg-nav)}@media (min-width: 50rem){nav:where(.astro-doynk5tl){inset-inline-start:var(--sl-content-inline-start, 0)}}summary:where(.astro-doynk5tl){gap:.5rem;align-items:center;height:var(--sl-mobile-toc-height);border-bottom:1px solid var(--sl-color-hairline-shade);padding:.5rem 1rem;font-size:var(--sl-text-xs);outline-offset:var(--sl-outline-offset-inside)}summary:where(.astro-doynk5tl)::marker,summary:where(.astro-doynk5tl)::-webkit-details-marker{display:none}.toggle:where(.astro-doynk5tl){flex-shrink:0;gap:1rem;align-items:center;justify-content:space-between;border:1px solid var(--sl-color-gray-5);border-radius:.5rem;padding-block:.5rem;padding-inline-start:.75rem;padding-inline-end:.5rem;line-height:1;background-color:var(--sl-color-black);-webkit-user-select:none;-moz-user-select:none;user-select:none;cursor:pointer}details:where(.astro-doynk5tl)[open] .toggle:where(.astro-doynk5tl){color:var(--sl-color-white);border-color:var(--sl-color-accent)}details:where(.astro-doynk5tl) .toggle:where(.astro-doynk5tl):hover{color:var(--sl-color-white);border-color:var(--sl-color-gray-2)}[dir=rtl] .caret:where(.astro-doynk5tl){transform:rotate(180deg)}details:where(.astro-doynk5tl)[open] .caret:where(.astro-doynk5tl){transform:rotate(90deg)}.display-current:where(.astro-doynk5tl){white-space:nowrap;text-overflow:ellipsis;overflow:hidden;color:var(--sl-color-white)}.dropdown:where(.astro-doynk5tl){--border-top: 1px;margin-top:calc(-1 * var(--border-top));border:var(--border-top) solid var(--sl-color-gray-6);border-top-color:var(--sl-color-hairline-shade);max-height:calc(85vh - var(--sl-nav-height) - var(--sl-mobile-toc-height));overflow-y:auto;background-color:var(--sl-color-black);box-shadow:var(--sl-shadow-md);overscroll-behavior:contain} h1:where(.astro-j6tvhyss){margin-top:1rem;font-size:var(--sl-text-h1);line-height:var(--sl-line-height-headings);font-weight:600;color:var(--sl-color-white)} a:where(.astro-wy4te6ga){color:var(--sl-color-text-accent);padding:.5em;margin:-.5em}a:where(.astro-wy4te6ga):hover{opacity:.66} a:where(.astro-7q3lir66){clip:rect(0,0,0,0);position:fixed;top:.75rem;inset-inline-start:.75rem}a:where(.astro-7q3lir66):focus{clip:unset;z-index:var(--sl-z-index-skiplink);display:block;padding:.5rem 1rem;text-decoration:none;color:var(--sl-color-text-invert);background-color:var(--sl-color-text-accent);box-shadow:var(--sl-shadow-lg)} .c-breadcrumbs{--color-link-breadcrumbs: inherit;--size-font-breadcrumbs: 1rem;--spacing-vertical-separator-breadcrumbs: 6px}.c-breadcrumbs .has-ellipsis{display:var(--display-ellipsis-breadcrumbs, none)}.c-breadcrumbs.is-truncated .has-ellipsis{--display-ellipsis-breadcrumbs: flex}.c-breadcrumbs.is-truncated .c-breadcrumbs__crumb{visibility:var(--visibility-truncated-breadcrumbs, hidden);position:var(--position-truncated-breadcrumbs, absolute)}.c-breadcrumbs.is-truncated .c-breadcrumbs__crumb:first-of-type,.c-breadcrumbs.is-truncated .c-breadcrumbs__crumb:last-of-type,.c-breadcrumbs.is-truncated .c-breadcrumbs__crumb.has-ellipsis{--visibility-truncated-breadcrumbs: visible;--position-truncated-breadcrumbs: relative}.c-breadcrumbs__truncated-button{background-color:transparent;border:none;padding:0;margin:0;cursor:pointer;color:var(--color-truncated-button, var(--color-link-breadcrumbs))}.c-breadcrumbs__crumbs{list-style-type:none;margin:0;padding:0;display:flex;flex-wrap:wrap}.c-breadcrumbs__crumbs:where(.has-no-separators){row-gap:var(--spacing-vertical-separator-breadcrumbs);-moz-column-gap:1rem;column-gap:1rem}.c-breadcrumbs__crumb{display:flex;align-items:center}.c-breadcrumbs__crumb:has(.c-breadcrumbs__separator) .c-breadcrumbs__separator{display:flex;align-items:center;justify-content:center;margin-inline:var(--spacing-vertical-separator-breadcrumbs)}.c-breadcrumbs__crumb:has(svg,image) :where(svg,image){max-width:var(--size-font-breadcrumbs);max-height:var(--size-font-breadcrumbs)}.c-breadcrumbs__link,.c-breadcrumbs__truncated-button{font-size:var(--size-font-breadcrumbs);text-decoration:none;color:var(--color-link-breadcrumbs);line-height:1} svg:where(.astro-c6vsoqas){color:var(--sl-icon-color);font-size:var(--sl-icon-size, 1em);width:1em;height:1em} :root{.sidebar-content{--sl-color-hairline-light: #cacaca !important;>*{a{padding:.2375em var(--sl-sidebar-item-padding-inline)!important;&[aria-current=page]{background-color:unset!important;border:unset!important;border-color:unset!important;color:var(--sl-color-accent)!important;font-weight:600!important}}summary{padding:.1375em var(--sl-sidebar-item-padding-inline)!important}.large{color:var(--sl-color-gray-2)!important;font-weight:unset!important;font-size:unset!important;@media (min-width: 50rem){font-size:var(--sl-text-sm)!important}}.caret{font-size:1rem!important}}}}:root[data-theme=dark]{.sidebar-content{--sl-color-hairline-light: #444444 !important;>* a[aria-current=page]{color:var(--sl-color-accent-high)!important}}} .main-pane:where(.astro-67yu43on){isolation:isolate}@media (min-width: 72rem){.right-sidebar-container:where(.astro-67yu43on){order:2;position:relative;width:calc(var(--sl-sidebar-width) + (100% - var(--sl-content-width) - var(--sl-sidebar-width)) / 2)}.right-sidebar:where(.astro-67yu43on){position:fixed;top:0;border-inline-start:1px solid var(--sl-color-hairline);padding-top:var(--sl-nav-height);width:100%;height:100vh;overflow-y:auto;scrollbar-width:none}.main-pane:where(.astro-67yu43on){width:100%}[data-has-sidebar][data-has-toc] .main-pane:where(.astro-67yu43on){--sl-content-margin-inline: auto 0;order:1;width:calc(var(--sl-content-width) + (100% - var(--sl-content-width) - var(--sl-sidebar-width)) / 2)}} .starlight-aside{padding:1rem;border-inline-start:.25rem solid var(--sl-color-asides-border);color:var(--sl-color-white)}.starlight-aside--note{--sl-color-asides-text-accent: var(--sl-color-blue-high);--sl-color-asides-border: var(--sl-color-blue);background-color:var(--sl-color-blue-low)}.starlight-aside--tip{--sl-color-asides-text-accent: var(--sl-color-purple-high);--sl-color-asides-border: var(--sl-color-purple);background-color:var(--sl-color-purple-low)}.starlight-aside--caution{--sl-color-asides-text-accent: var(--sl-color-orange-high);--sl-color-asides-border: var(--sl-color-orange);background-color:var(--sl-color-orange-low)}.starlight-aside--danger{--sl-color-asides-text-accent: var(--sl-color-red-high);--sl-color-asides-border: var(--sl-color-red);background-color:var(--sl-color-red-low)}.starlight-aside__title{display:flex;gap:.5rem;align-items:center;font-size:var(--sl-text-h5);font-weight:600;line-height:var(--sl-line-height-headings);color:var(--sl-color-asides-text-accent)}.starlight-aside__icon{font-size:1.333em;width:1em;height:1em}.starlight-aside__title+.starlight-aside__content{margin-top:.5rem}.starlight-aside__content a{color:var(--sl-color-asides-text-accent)} sl-sidebar-state-persist:where(.astro-kku4brbg){display:contents} .starlight-aside{border:unset;border-radius:4px;&.starlight-aside--note{background-color:#ecf4ff}&.starlight-aside--caution{background-color:#fff8e4}.starlight-aside__title{margin-left:30px;svg{margin-left:-30px}}.starlight-aside__content{margin-top:unset;margin-left:30px}}:root[data-theme=dark]{.starlight-aside--note{background-color:#001c43}.starlight-aside--caution{background-color:#62490a}} .social-icons:where(.astro-wu23bvmt){margin-inline-end:auto;gap:1rem;align-items:center;padding-block:1rem}.social-icons:where(.astro-wu23bvmt):empty{display:none}.mobile-preferences:where(.astro-wu23bvmt){justify-content:space-between;flex-wrap:wrap;border-top:1px solid var(--sl-color-gray-6);-moz-column-gap:1rem;column-gap:1rem;padding:.5rem 0} starlight-tabs:where(.astro-esqgolmp){display:block}.tablist-wrapper:where(.astro-esqgolmp){overflow-x:auto}:where(.astro-esqgolmp)[role=tablist]{display:flex;list-style:none;border-bottom:2px solid var(--sl-color-gray-5);padding:0}.tab:where(.astro-esqgolmp){margin-bottom:-2px}.tab:where(.astro-esqgolmp)>:where(.astro-esqgolmp)[role=tab]{display:flex;align-items:center;gap:.5rem;padding:0 1.25rem;text-decoration:none;border-bottom:2px solid var(--sl-color-gray-5);color:var(--sl-color-gray-3);outline-offset:var(--sl-outline-offset-inside);overflow-wrap:initial}.tab:where(.astro-esqgolmp) :where(.astro-esqgolmp)[role=tab][aria-selected=true]{color:var(--sl-color-white);border-color:var(--sl-color-text-accent);font-weight:600}.tablist-wrapper:where(.astro-esqgolmp)~[role=tabpanel]{margin-top:1rem} .sl-badge{border:none;font-family:var(--__sl-font);overflow-wrap:unset;align-items:center;border-radius:50px;display:inline-flex;font-size:12px;font-weight:400;line-height:1;-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap;padding:4px 8px}:root{.sl-badge{&.note{background-color:#b9d6ff!important;color:#003681!important}&.danger{background-color:#feccc8!important;color:#780a02!important}&.success{background-color:#a8e9c0!important;color:#104122!important}&.caution{background-color:#fbcda5!important;color:#592b04!important}&.tip{background-color:#ebcaf6!important;color:#490f5c!important}&.default{background-color:#f2f2f2!important;color:#3d3d3d!important}}}:root[data-theme=dark]{.sl-badge{&.note{background-color:#82b6ff!important;color:#001c43!important}&.danger{background-color:#feccc8!important;color:#3c0501!important}&.success{background-color:#55d584!important;color:#0a2614!important}&.caution{background-color:#fbcda5!important;color:#361a02!important}&.tip{background-color:#ebcaf6!important;color:#350b42!important}&.default{background-color:#d9d9d9!important;color:#4a4a4a!important}}} .sl-link-card:where(.astro-mf7fz2mj){display:grid;grid-template-columns:1fr auto;gap:.5rem;border:1px solid var(--sl-color-gray-5);border-radius:.5rem;padding:1rem;box-shadow:var(--sl-shadow-sm);position:relative}a:where(.astro-mf7fz2mj){text-decoration:none;line-height:var(--sl-line-height-headings)}a:where(.astro-mf7fz2mj):before{content:"";position:absolute;inset:0}.stack:where(.astro-mf7fz2mj){flex-direction:column;gap:.5rem}.title:where(.astro-mf7fz2mj){color:var(--sl-color-white);font-weight:600;font-size:var(--sl-text-lg)}.description:where(.astro-mf7fz2mj){color:var(--sl-color-gray-3);line-height:1.5}.icon:where(.astro-mf7fz2mj){color:var(--sl-color-gray-3)}.sl-link-card:where(.astro-mf7fz2mj):hover{background:var(--sl-color-gray-7, var(--sl-color-gray-6));border-color:var(--sl-color-gray-2)}.sl-link-card:where(.astro-mf7fz2mj):hover .icon:where(.astro-mf7fz2mj){color:var(--sl-color-white)} a:where(.astro-vdgantbb){color:var(--sl-color-text-accent)} .expressive-code .copy button{width:2rem!important;height:2rem!important} html:not([data-has-toc]){--sl-mobile-toc-height: 0rem}html:not([data-has-sidebar]){--sl-content-width: 67.5rem}html{scroll-padding-top:calc(1.5rem + var(--sl-nav-height) + var(--sl-mobile-toc-height))}main:where(.astro-bguv2lll){padding-bottom:3vh}@media (min-width: 50em){:where(.astro-bguv2lll)[data-has-sidebar]{--sl-content-inline-start: var(--sl-sidebar-width)}}@media (min-width: 72em){html{scroll-padding-top:calc(1.5rem + var(--sl-nav-height))}} .sl-steps{--bullet-size: calc(var(--sl-line-height) * 1rem);--bullet-margin: .375rem;list-style:none;counter-reset:steps-counter var(--sl-steps-start, 0);padding-inline-start:0}.sl-steps>li{counter-increment:steps-counter;position:relative;padding-inline-start:calc(var(--bullet-size) + 1rem);padding-bottom:1px;min-height:calc(var(--bullet-size) + var(--bullet-margin))}.sl-steps>li+li{margin-top:0}.sl-steps>li:before{content:counter(steps-counter);position:absolute;top:0;inset-inline-start:0;width:var(--bullet-size);height:var(--bullet-size);line-height:var(--bullet-size);font-size:var(--sl-text-xs);font-weight:600;text-align:center;color:var(--sl-color-white);background-color:var(--sl-color-gray-6);border-radius:99rem;box-shadow:inset 0 0 0 1px var(--sl-color-gray-5)}.sl-steps>li:after{--guide-width: 1px;content:"";position:absolute;top:calc(var(--bullet-size) + var(--bullet-margin));bottom:var(--bullet-margin);inset-inline-start:calc((var(--bullet-size) - var(--guide-width)) / 2);width:var(--guide-width);background-color:var(--sl-color-hairline-light)}.sl-steps>li>:first-child{--lh: calc(1em * var(--sl-line-height));--shift-y: calc(.5 * (var(--bullet-size) - var(--lh)));transform:translateY(var(--shift-y));margin-bottom:var(--shift-y)}.sl-steps>li>:first-child:where(h1,h2,h3,h4,h5,h6){--lh: calc(1em * var(--sl-line-height-headings))}@supports (--prop: 1lh){.sl-steps>li>:first-child{--lh: 1lh}} :root{--color-link-breadcrumbs: var(--sl-color-text-accent)} .footnote{font-size:.75rem;line-height:1rem;color:var(--sl-color-accent);font-weight:600;padding:.25rem;margin:-.25rem}.data-footnote-backref{display:none}.tippy-box{background-color:var(--sl-color-bg-nav);border-color:var(--sl-color-text);border:.1em solid;color:var(--sl-color-white)} starlight-file-tree:where(.astro-p67cqifm){--x-space: 1.5rem;--y-space: .125rem;--y-pad: 0;display:block;border:1px solid var(--sl-color-gray-5);padding:1rem;background-color:var(--sl-color-gray-6);font-size:var(--sl-text-xs);font-family:var(--__sl-font-mono);overflow-x:auto}starlight-file-tree:where(.astro-p67cqifm) .directory>details{border:0;padding:0;padding-inline-start:var(--x-space);background:transparent}starlight-file-tree:where(.astro-p67cqifm) .directory>details>summary{margin-inline-start:calc(-1 * var(--x-space));border:0;padding:var(--y-pad) .625rem;font-weight:400;color:var(--sl-color-white);max-width:100%}starlight-file-tree:where(.astro-p67cqifm) .directory>details>summary::marker,starlight-file-tree:where(.astro-p67cqifm) .directory>details>summary::-webkit-details-marker{color:var(--sl-color-gray-3)}starlight-file-tree:where(.astro-p67cqifm) .directory>details>summary:hover,starlight-file-tree:where(.astro-p67cqifm) .directory>details>summary:hover .tree-icon{cursor:pointer;color:var(--sl-color-text-accent);fill:currentColor}starlight-file-tree:where(.astro-p67cqifm) .directory>details>summary:hover~ul{border-color:var(--sl-color-gray-4)}starlight-file-tree:where(.astro-p67cqifm) .directory>details>summary:hover .highlight .tree-icon{fill:currentColor}starlight-file-tree:where(.astro-p67cqifm) ul{margin-inline-start:.5rem;border-inline-start:1px solid var(--sl-color-gray-5);padding:0;padding-inline-start:.125rem;list-style:none}starlight-file-tree:where(.astro-p67cqifm)>ul{margin:0;border:0;padding:0}starlight-file-tree:where(.astro-p67cqifm) li{margin:var(--y-space) 0;padding:var(--y-pad) 0}starlight-file-tree:where(.astro-p67cqifm) .file{margin-inline-start:calc(var(--x-space) - .125rem);color:var(--sl-color-white)}starlight-file-tree:where(.astro-p67cqifm) .tree-entry{display:inline-flex;align-items:flex-start;flex-wrap:wrap;max-width:calc(100% - 1rem)}@media (min-width: 30em){starlight-file-tree:where(.astro-p67cqifm) .tree-entry{flex-wrap:nowrap}}starlight-file-tree:where(.astro-p67cqifm) .tree-entry>:first-child{flex-shrink:0}starlight-file-tree:where(.astro-p67cqifm) .empty{color:var(--sl-color-gray-3);padding-inline-start:.375rem}starlight-file-tree:where(.astro-p67cqifm) .comment{color:var(--sl-color-gray-3);padding-inline-start:1.625rem;max-width:24rem;min-width:12rem}starlight-file-tree:where(.astro-p67cqifm) .highlight{display:inline-block;border-radius:.25rem;padding-inline-end:.5rem;color:var(--sl-color-text-invert);background-color:var(--sl-color-text-accent)}starlight-file-tree:where(.astro-p67cqifm) svg{display:inline;fill:var(--sl-color-gray-3);vertical-align:middle;margin-inline:.25rem .375rem;width:.875rem;height:.875rem}starlight-file-tree:where(.astro-p67cqifm) .highlight svg.tree-icon{fill:currentColor} ul:where(.astro-3ii7xxms){--sl-sidebar-item-padding-inline: .5rem;list-style:none;padding:0}li:where(.astro-3ii7xxms){overflow-wrap:anywhere}ul:where(.astro-3ii7xxms) ul:where(.astro-3ii7xxms) li:where(.astro-3ii7xxms){margin-inline-start:var(--sl-sidebar-item-padding-inline);border-inline-start:1px solid var(--sl-color-hairline-light);padding-inline-start:var(--sl-sidebar-item-padding-inline)}.large:where(.astro-3ii7xxms){font-size:var(--sl-text-lg);font-weight:600;color:var(--sl-color-white)}.top-level:where(.astro-3ii7xxms)>li:where(.astro-3ii7xxms)+li:where(.astro-3ii7xxms){margin-top:.75rem}summary:where(.astro-3ii7xxms){display:flex;align-items:center;justify-content:space-between;padding:.2em var(--sl-sidebar-item-padding-inline);line-height:1.4;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}summary:where(.astro-3ii7xxms)::marker,summary:where(.astro-3ii7xxms)::-webkit-details-marker{display:none}.caret:where(.astro-3ii7xxms){transition:transform .2s ease-in-out;flex-shrink:0}[dir=rtl] .caret:where(.astro-3ii7xxms){transform:rotate(180deg)}:where(.astro-3ii7xxms)[open]>summary:where(.astro-3ii7xxms) .caret:where(.astro-3ii7xxms){transform:rotate(90deg)}a:where(.astro-3ii7xxms){display:block;border-radius:.25rem;text-decoration:none;color:var(--sl-color-gray-2);padding:.3em var(--sl-sidebar-item-padding-inline);line-height:1.4}a:where(.astro-3ii7xxms):hover,a:where(.astro-3ii7xxms):focus{color:var(--sl-color-white)}:where(.astro-3ii7xxms)[aria-current=page],:where(.astro-3ii7xxms)[aria-current=page]:hover,:where(.astro-3ii7xxms)[aria-current=page]:focus{font-weight:600;color:var(--sl-color-text-invert);background-color:var(--sl-color-text-accent)}a:where(.astro-3ii7xxms)>:where(.astro-3ii7xxms):not(:last-child),.group-label:where(.astro-3ii7xxms)>:where(.astro-3ii7xxms):not(:last-child){margin-inline-end:.25em}@media (min-width: 50rem){.top-level:where(.astro-3ii7xxms)>li:where(.astro-3ii7xxms)+li:where(.astro-3ii7xxms){margin-top:.5rem}.large:where(.astro-3ii7xxms){font-size:var(--sl-text-base)}a:where(.astro-3ii7xxms){font-size:var(--sl-text-sm)}} :root{--sl-text-h4: var(--sl-text-base);--sl-text-h5: var(--sl-text-base)} .sl-link-button:where(.astro-xwgiixxa){align-items:center;border:1px solid transparent;border-radius:999rem;display:inline-flex;font-size:var(--sl-text-sm);gap:.5em;line-height:1.1875;outline-offset:.25rem;padding:.4375rem 1.125rem;text-decoration:none}.sl-link-button:where(.astro-xwgiixxa).primary{background:var(--sl-color-text-accent);border-color:var(--sl-color-text-accent);color:var(--sl-color-black)}.sl-link-button:where(.astro-xwgiixxa).primary:hover{color:var(--sl-color-black)}.sl-link-button:where(.astro-xwgiixxa).secondary{border-color:inherit;color:var(--sl-color-white)}.sl-link-button:where(.astro-xwgiixxa).minimal{color:var(--sl-color-white);padding-inline:0}.sl-link-button:where(.astro-xwgiixxa) svg{flex-shrink:0}@media (min-width: 50rem){.sl-link-button:where(.astro-xwgiixxa){font-size:var(--sl-text-base);padding:.9375rem 1.25rem}}.sl-markdown-content .sl-link-button:where(.astro-xwgiixxa){margin-inline-end:1rem}.sl-markdown-content .sl-link-button:where(.astro-xwgiixxa):not(:where(p *)){margin-block:1rem} input,textarea,select{background-color:var(--sl-color-bg-nav);border-color:var(--sl-color-gray-5);border-width:2px}input[readonly]{background-color:var(--sl-color-backdrop-overlay);cursor:not-allowed} pre.mermaid:not([data-processed]){visibility:hidden} table *{overflow-wrap:normal} </style> <link rel="stylesheet" href="/_astro/tailwind.2B1cNoGl.css"> <style>.site-title{gap:calc(.5 * var(--sl-nav-gap));span{color:var(--sl-color-white)}img{height:calc(var(--sl-nav-height) - 3 * var(--sl-nav-pad-y))}} </style> <script type="module" src="/_astro/page.7qqag-5g.js"></script> <style>.card-grid:where(.astro-lrh2lqny){display:grid;gap:1rem}.card-grid:where(.astro-lrh2lqny)>*{margin-top:0!important}@media (min-width: 50rem){.card-grid:where(.astro-lrh2lqny){grid-template-columns:1fr 1fr 1fr 1fr;gap:1.5rem}.stagger:where(.astro-lrh2lqny){--stagger-height: 5rem;padding-bottom:var(--stagger-height)}.stagger:where(.astro-lrh2lqny)>*:nth-child(2n){transform:translateY(var(--stagger-height))}} </style> <style>.card:where(.astro-rcyev3ef){--sl-card-border: var(--sl-color-purple);--sl-card-bg: var(--sl-color-purple-low);border:1px solid var(--sl-color-gray-5);background-color:var(--sl-color-black);padding:clamp(1rem,calc(.125rem + 3vw),2.5rem);flex-direction:column;gap:clamp(.5rem,calc(.125rem + 1vw),1rem)}.card:where(.astro-rcyev3ef):nth-child(4n+1){--sl-card-border: var(--sl-color-orange);--sl-card-bg: var(--sl-color-orange-low)}.card:where(.astro-rcyev3ef):nth-child(4n+3){--sl-card-border: var(--sl-color-green);--sl-card-bg: var(--sl-color-green-low)}.card:where(.astro-rcyev3ef):nth-child(4n+4){--sl-card-border: var(--sl-color-red);--sl-card-bg: var(--sl-color-red-low)}.card:where(.astro-rcyev3ef):nth-child(4n+5){--sl-card-border: var(--sl-color-blue);--sl-card-bg: var(--sl-color-blue-low)}.title:where(.astro-rcyev3ef){font-weight:600;font-size:var(--sl-text-h4);color:var(--sl-color-white);line-height:var(--sl-line-height-headings);gap:1rem;align-items:center}.title:where(.astro-rcyev3ef)>a:where(.astro-rcyev3ef){color:var(--sl-color-white)!important;text-decoration-color:var(--sl-color-accent)!important}.card:where(.astro-rcyev3ef) .icon:where(.astro-rcyev3ef){border:1px solid var(--sl-card-border);background-color:var(--sl-card-bg);padding:.2em;border-radius:.25rem}.card:where(.astro-rcyev3ef) .body:where(.astro-rcyev3ef){margin:0;font-size:clamp(var(--sl-text-sm),calc(.5rem + 1vw),var(--sl-text-body))} </style> <style>.link-list:where(.astro-5tgmqq4m) ul{list-style-type:none;padding:0}.link-list:where(.astro-5tgmqq4m) li{border-bottom:1px solid var(--sl-color-gray-6);padding:.25rem 0;margin:0!important}.link-list:where(.astro-5tgmqq4m) li:last-child{border-bottom:none}.link-list:where(.astro-5tgmqq4m) a{display:flex;gap:.5rem;justify-content:space-between;align-items:center;text-decoration:none}.link-list:where(.astro-5tgmqq4m) a:after{content:"";background-color:currentColor;width:1rem;height:1rem;flex-shrink:0;mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M17.92 11.62a1.001 1.001 0 0 0-.21-.33l-5-5a1.003 1.003 0 1 0-1.42 1.42l3.3 3.29H7a1 1 0 0 0 0 2h7.59l-3.3 3.29a1.002 1.002 0 0 0 .325 1.639 1 1 0 0 0 1.095-.219l5-5a1 1 0 0 0 .21-.33 1 1 0 0 0 0-.76Z'%3E%3C/path%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M17.92 11.62a1.001 1.001 0 0 0-.21-.33l-5-5a1.003 1.003 0 1 0-1.42 1.42l3.3 3.29H7a1 1 0 0 0 0 2h7.59l-3.3 3.29a1.002 1.002 0 0 0 .325 1.639 1 1 0 0 0 1.095-.219l5-5a1 1 0 0 0 .21-.33 1 1 0 0 0 0-.76Z'%3E%3C/path%3E%3C/svg%3E");mask-size:100%;-webkit-mask-size:100%}[dir=rtl] .link-list:where(.astro-5tgmqq4m) a:after:not(:where([dir=rtl] [dir=ltr] *)){transform:scaleX(-1)} </style> <style>.NetworkMap--land:where(.astro-x5fqlrwg){fill:rgba(var(--gray-7-rgb),.8)}:where(.astro-x5fqlrwg)[theme=dark] .NetworkMap--land:where(.astro-x5fqlrwg){fill:rgba(var(--gray-2-rgb),.7)}.NetworkMap--datacenters:where(.astro-x5fqlrwg){fill:var(--sl-color-text-accent);stroke:var(--sl-color-text-accent);stroke-width:2px;paint-order:stroke;opacity:.85}:where(.astro-x5fqlrwg)[theme=dark] .NetworkMap--datacenters:where(.astro-x5fqlrwg){stroke:var(--background-color);stroke-width:3px} </style> <style>button:where(.astro-alpa55q7){transition:opacity .1s ease;opacity:.75;&:hover{cursor:copy;opacity:1}} </style> <style>input:where(.astro-75f4fhkp)[type=radio]{display:none}:root{--active-background: rgb(46 105 255);--hover-background: rgb(46 105 255 / .5);--active-text-color: white}:root[data-theme=dark]{--active-background: rgb(246 130 31);--hover-background: rgb(246 130 31 / .5);--active-text-color: black}#section1:where(.astro-75f4fhkp):checked~.tryit-code:where(.astro-75f4fhkp) #section1Content:where(.astro-75f4fhkp),#section2:where(.astro-75f4fhkp):checked~.tryit-code:where(.astro-75f4fhkp) #section2Content:where(.astro-75f4fhkp),#section3:where(.astro-75f4fhkp):checked~.tryit-code:where(.astro-75f4fhkp) #section3Content:where(.astro-75f4fhkp),#section4:where(.astro-75f4fhkp):checked~.tryit-code:where(.astro-75f4fhkp) #section4Content:where(.astro-75f4fhkp),#section5:where(.astro-75f4fhkp):checked~.tryit-code:where(.astro-75f4fhkp) #section5Content:where(.astro-75f4fhkp){display:block}#section1:where(.astro-75f4fhkp):checked~.tryit-sidebar:where(.astro-75f4fhkp) #section1Label:where(.astro-75f4fhkp),#section2:where(.astro-75f4fhkp):checked~.tryit-sidebar:where(.astro-75f4fhkp) #section2Label:where(.astro-75f4fhkp),#section3:where(.astro-75f4fhkp):checked~.tryit-sidebar:where(.astro-75f4fhkp) #section3Label:where(.astro-75f4fhkp),#section4:where(.astro-75f4fhkp):checked~.tryit-sidebar:where(.astro-75f4fhkp) #section4Label:where(.astro-75f4fhkp),#section5:where(.astro-75f4fhkp):checked~.tryit-sidebar:where(.astro-75f4fhkp) #section5Label:where(.astro-75f4fhkp){background-color:var(--active-background);color:var(--active-text-color)}.tryit-sidebar:where(.astro-75f4fhkp) label:where(.astro-75f4fhkp):hover{background-color:var(--hover-background)} </style> <link rel="stylesheet" href="/_astro/FooterHeroBlock_astro_astro_type_style_index_0_lang.BqgAmjvj.css"> <link rel="stylesheet" href="/_astro/WorkersIsolateDiagram_astro_astro_type_style_index_0_lang.Bc7tm2R7.css"> <meta http-equiv="X-Translated-By" content="Google"> <meta http-equiv="X-Translated-To" content="en"> <script type="text/javascript" src="https://www.gstatic.com/_/translate_http/_/js/k=translate_http.tr.en_GB.tKc6KWkFf-8.O/am=gAE/d=1/rs=AN8SPfrf36LIV3DkhtRBGWFnLWWzaykPyw/m=corsproxy" data-sourceurl="https://developers.cloudflare.com/fundamentals/api/reference/deprecations/"></script> <link href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@20..48,100..700,0..1,-50..200" rel="stylesheet"> <script type="text/javascript" src="https://www.gstatic.com/_/translate_http/_/js/k=translate_http.tr.en_GB.tKc6KWkFf-8.O/am=gAE/d=1/exm=corsproxy/ed=1/rs=AN8SPfrf36LIV3DkhtRBGWFnLWWzaykPyw/m=phishing_protection" data-phishing-protection-enabled="false" data-forms-warning-enabled="true" data-source-url="https://developers.cloudflare.com/fundamentals/api/reference/deprecations/"></script> <meta name="robots" content="none"> </head> <body class="astro-bguv2lll"> <script type="text/javascript" src="https://www.gstatic.com/_/translate_http/_/js/k=translate_http.tr.en_GB.tKc6KWkFf-8.O/am=gAE/d=1/exm=corsproxy,phishing_protection/ed=1/rs=AN8SPfrf36LIV3DkhtRBGWFnLWWzaykPyw/m=navigationui" data-environment="prod" data-proxy-url="https://developers-cloudflare-com.translate.goog" data-proxy-full-url="https://developers-cloudflare-com.translate.goog/fundamentals/api/reference/deprecations/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" data-source-url="https://developers.cloudflare.com/fundamentals/api/reference/deprecations/" data-source-language="pl" data-target-language="en" data-display-language="en-GB" data-detected-source-language="" data-is-source-untranslated="false" data-source-untranslated-url="https://translate.google.com/website?sl=pl&amp;tl=en&amp;hl=en-GB&amp;u=https://developers.cloudflare.com/fundamentals/api/reference/deprecations/&amp;anno=2" data-client="tr"></script><a href="https://developers-cloudflare-com.translate.goog/fundamentals/api/reference/deprecations/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB#_top" class="astro-7q3lir66">Skip to content</a> <div class="page sl-flex astro-vrdttmbt"> <header class="header astro-vrdttmbt"> <div class="header sl-flex astro-kmkmnagf"> <div class="title-wrapper sl-flex astro-kmkmnagf"><a href="https://developers-cloudflare-com.translate.goog/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" class="site-title sl-flex astro-m46x6ez3"> <img class="astro-m46x6ez3" alt src="/_astro/logo.p_ySeMR1.svg" width="40" height="19"> <span class="astro-m46x6ez3" translate="no"> Cloudflare Docs </span> </a> </div> <div class="sl-flex print:hidden astro-kmkmnagf"><sl-doc-search data-translations="{&quot;placeholder&quot;:&quot;Search&quot;,&quot;translations&quot;:{&quot;button&quot;:{&quot;buttonText&quot;:&quot;Search&quot;,&quot;buttonAriaLabel&quot;:&quot;Search&quot;},&quot;modal&quot;:{&quot;searchBox&quot;:{},&quot;startScreen&quot;:{},&quot;errorScreen&quot;:{},&quot;footer&quot;:{},&quot;noResultsScreen&quot;:{}}}}"> <button type="button" class="DocSearch DocSearch-Button" aria-label="Search"> <span class="DocSearch-Button-Container"> <svg width="20" height="20" class="DocSearch-Search-Icon" viewbox="0 0 20 20"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round" /> </svg><span class="DocSearch-Button-Placeholder">Search</span> </span> <span class="DocSearch-Button-Keys"></span> </button> </sl-doc-search> <script type="module" src="/_astro/DocSearch.astro_astro_type_script_index_0_lang.DeY_zQK3.js"></script> </div> <div class="sl-hidden md:sl-flex print:hidden right-group astro-kmkmnagf"> <div class="sl-flex social-icons astro-kmkmnagf"> <div class="items-center hidden lg:flex mx-auto astro-r3tjzkat"><a href="https://developers-cloudflare-com.translate.goog/products/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" class="px-4 no-underline text-[--sl-color-text] font-medium astro-r3tjzkat"> <span class="astro-r3tjzkat">Products</span> </a><a href="https://developers-cloudflare-com.translate.goog/learning-paths/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" class="px-4 no-underline text-[--sl-color-text] font-medium astro-r3tjzkat"> <span class="astro-r3tjzkat">Learning</span> </a><a href="https://translate.google.com/website?sl=pl&amp;tl=en&amp;hl=en-GB&amp;u=https://www.cloudflarestatus.com/" class="px-4 no-underline text-[--sl-color-text] font-medium astro-r3tjzkat"> <span class="astro-r3tjzkat">Status</span> </a><a href="https://developers-cloudflare-com.translate.goog/support/contacting-cloudflare-support/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" class="px-4 no-underline text-[--sl-color-text] font-medium astro-r3tjzkat"> <span class="astro-r3tjzkat">Support</span> </a><a href="https://translate.google.com/website?sl=pl&amp;tl=en&amp;hl=en-GB&amp;u=https://dash.cloudflare.com" class="px-4 no-underline text-[--sl-color-text] font-medium astro-r3tjzkat"> <span class="astro-r3tjzkat">Log in</span> </a> </div><a href="https://translate.google.com/website?sl=pl&amp;tl=en&amp;hl=en-GB&amp;u=https://github.com/cloudflare/cloudflare-docs" rel="me" class="sl-flex astro-wy4te6ga"><span class="sr-only astro-wy4te6ga">GitHub</span> <svg aria-hidden="true" class="astro-wy4te6ga astro-c6vsoqas" width="16" height="16" viewbox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"> <path d="M12 .3a12 12 0 0 0-3.8 23.38c.6.12.83-.26.83-.57L9 21.07c-3.34.72-4.04-1.61-4.04-1.61-.55-1.39-1.34-1.76-1.34-1.76-1.08-.74.09-.73.09-.73 1.2.09 1.83 1.24 1.83 1.24 1.08 1.83 2.81 1.3 3.5 1 .1-.78.42-1.31.76-1.61-2.67-.3-5.47-1.33-5.47-5.93 0-1.31.47-2.38 1.24-3.22-.14-.3-.54-1.52.1-3.18 0 0 1-.32 3.3 1.23a11.5 11.5 0 0 1 6 0c2.28-1.55 3.29-1.23 3.29-1.23.64 1.66.24 2.88.12 3.18a4.65 4.65 0 0 1 1.23 3.22c0 4.61-2.8 5.63-5.48 5.92.42.36.81 1.1.81 2.22l-.01 3.29c0 .31.2.69.82.57A12 12 0 0 0 12 .3Z" /> </svg></a><a href="https://translate.google.com/website?sl=pl&amp;tl=en&amp;hl=en-GB&amp;u=https://x.com/cloudflare" rel="me" class="sl-flex astro-wy4te6ga"><span class="sr-only astro-wy4te6ga">X</span> <svg aria-hidden="true" class="astro-wy4te6ga astro-c6vsoqas" width="16" height="16" viewbox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"> <path d="M 18.242188 2.25 L 21.554688 2.25 L 14.324219 10.507812 L 22.828125 21.75 L 16.171875 21.75 L 10.953125 14.933594 L 4.992188 21.75 L 1.679688 21.75 L 9.40625 12.914062 L 1.257812 2.25 L 8.082031 2.25 L 12.792969 8.480469 Z M 17.082031 19.773438 L 18.914062 19.773438 L 7.082031 4.125 L 5.113281 4.125 Z M 17.082031 19.773438 " /> </svg></a><a href="https://translate.google.com/website?sl=pl&amp;tl=en&amp;hl=en-GB&amp;u=https://www.youtube.com/cloudflare" rel="me" class="sl-flex astro-wy4te6ga"><span class="sr-only astro-wy4te6ga">YouTube</span> <svg aria-hidden="true" class="astro-wy4te6ga astro-c6vsoqas" width="16" height="16" viewbox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"> <path d="M23.5 6.2A3 3 0 0 0 21.4 4c-1.9-.5-9.4-.5-9.4-.5s-7.5 0-9.4.5A3 3 0 0 0 .5 6.3C0 8 0 12 0 12s0 4 .5 5.8A3 3 0 0 0 2.6 20c1.9.6 9.4.6 9.4.6s7.5 0 9.4-.6a3 3 0 0 0 2.1-2c.5-2 .5-5.9.5-5.9s0-4-.5-5.8zm-14 9.4V8.4l6.3 3.6-6.3 3.6z" /> </svg></a> </div><starlight-theme-select> <label style="--sl-select-width: 6.25em" class="astro-4yphtoen"> <span class="sr-only astro-4yphtoen">Select theme</span> <svg aria-hidden="true" class="icon label-icon astro-4yphtoen astro-c6vsoqas" width="16" height="16" viewbox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"> <path d="M21 14h-1V7a3 3 0 0 0-3-3H7a3 3 0 0 0-3 3v7H3a1 1 0 0 0-1 1v2a3 3 0 0 0 3 3h14a3 3 0 0 0 3-3v-2a1 1 0 0 0-1-1ZM6 7a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v7H6V7Zm14 10a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1v-1h16v1Z" /> </svg><select value="auto" autocomplete="off" class="astro-4yphtoen"> <option value="dark" class="astro-4yphtoen">Dark</option><option value="light" class="astro-4yphtoen">Light</option><option value="auto" selected class="astro-4yphtoen">Auto</option> </select> <svg aria-hidden="true" class="icon caret astro-4yphtoen astro-c6vsoqas" width="16" height="16" viewbox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"> <path d="M17 9.17a1 1 0 0 0-1.41 0L12 12.71 8.46 9.17a1 1 0 1 0-1.41 1.42l4.24 4.24a1.002 1.002 0 0 0 1.42 0L17 10.59a1.002 1.002 0 0 0 0-1.42Z" /> </svg></label> </starlight-theme-select> <script> StarlightThemeProvider.updatePickers(); </script> <script type="module">const r="starlight-theme",o=e=>e==="auto"||e==="dark"||e==="light"?e:"auto",c=()=>o(typeof localStorage<"u"&&localStorage.getItem(r));function n(e){typeof localStorage<"u"&&localStorage.setItem(r,e==="light"||e==="dark"?e:"")}const l=()=>matchMedia("(prefers-color-scheme: light)").matches?"light":"dark";function t(e){StarlightThemeProvider.updatePickers(e),document.documentElement.dataset.theme=e==="auto"?l():e,n(e)}matchMedia("(prefers-color-scheme: light)").addEventListener("change",()=>{c()==="auto"&&t("auto")});class s extends HTMLElement{constructor(){super(),t(c()),this.querySelector("select")?.addEventListener("change",a=>{a.currentTarget instanceof HTMLSelectElement&&t(o(a.currentTarget.value))})}}customElements.define("starlight-theme-select",s);</script> <script type="module">class s extends HTMLElement{constructor(){super();const e=this.querySelector("select");e&&(e.addEventListener("change",t=>{t.currentTarget instanceof HTMLSelectElement&&(window.location.pathname=t.currentTarget.value)}),window.addEventListener("pageshow",t=>{if(!t.persisted)return;const n=e.querySelector("option[selected]")?.index;n!==e.selectedIndex&&(e.selectedIndex=n??0)}))}}customElements.define("starlight-lang-select",s);</script> </div> </div> </header> <nav class="sidebar print:hidden astro-vrdttmbt" aria-label="Main"><starlight-menu-button class="print:hidden astro-jif73yzw"> <button aria-expanded="false" aria-label="Menu" aria-controls="starlight__sidebar" class="sl-flex md:sl-hidden astro-jif73yzw"> <svg aria-hidden="true" class="astro-jif73yzw astro-c6vsoqas" width="16" height="16" viewbox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"> <path d="M3 8h18a1 1 0 1 0 0-2H3a1 1 0 0 0 0 2Zm18 8H3a1 1 0 0 0 0 2h18a1 1 0 0 0 0-2Zm0-5H3a1 1 0 0 0 0 2h18a1 1 0 0 0 0-2Z" /> </svg></button> </starlight-menu-button> <script type="module">class s extends HTMLElement{constructor(){super(),this.btn=this.querySelector("button"),this.btn.addEventListener("click",()=>this.toggleExpanded());const t=this.closest("nav");t&&t.addEventListener("keyup",e=>this.closeOnEscape(e))}setExpanded(t){this.setAttribute("aria-expanded",String(t)),document.body.toggleAttribute("data-mobile-menu-expanded",t)}toggleExpanded(){this.setExpanded(this.getAttribute("aria-expanded")!=="true")}closeOnEscape(t){t.code==="Escape"&&(this.setExpanded(!1),this.btn.focus())}}customElements.define("starlight-menu-button",s);</script> <div id="starlight__sidebar" class="sidebar-pane astro-vrdttmbt"> <div class="sidebar-content sl-flex astro-vrdttmbt"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" class="flex items-center decoration-[color:var(--orange-accent-200)] hover:opacity-80"> <svg width="1em" height="1em" class="mr-2 text-4xl text-[color:var(--orange-accent-200)]" data-icon="fundamentals"><symbol id="ai:local:fundamentals" viewbox="0 0 48 48"> <path fill="currentColor" d="M42 10.5h-4.5v-3l-2.025-1.403L24 10.395 12.525 6.097 10.5 7.5v3H6L4.5 12v30L6 43.5h36l1.5-1.5V12zm-16.5 2.542 9-3.375v25.395l-9 4.5zm-12-3.375 9 3.375V39.54l-9-4.5zm-6 3.833h3V36l.832 1.343L17.61 40.5H7.5zm33 27H30.39l6.277-3.127L37.5 36V13.5h3z" /> </symbol><use href="https://developers-cloudflare-com.translate.goog/fundamentals/api/reference/deprecations/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB#ai:local:fundamentals"></use> </svg><span class="text-black"> <strong> Cloudflare Fundamentals </strong> </span> </a> <!-- @ts-expect-error sidebar props don't match as we add additional things --> <sl-sidebar-state-persist data-hash="015hib6" class="astro-kku4brbg"> <script aria-hidden="true"> (() => { try { if (!matchMedia('(min-width: 50em)').matches) return; /** @type {HTMLElement | null} */ const target = document.querySelector('sl-sidebar-state-persist'); const state = JSON.parse(sessionStorage.getItem('sl-sidebar-state') || '0'); if (!target || !state || target.dataset.hash !== state.hash) return; window._starlightScrollRestore = state.scroll; customElements.define( 'sl-sidebar-restore', class SidebarRestore extends HTMLElement { connectedCallback() { try { const idx = parseInt(this.dataset.index || ''); const details = this.closest('details'); if (details && typeof state.open[idx] === 'boolean') details.open = state.open[idx]; } catch {} } } ); } catch {} })(); </script> <ul class="top-level astro-3ii7xxms"> <li class="astro-3ii7xxms"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" aria-current="false" class="large astro-3ii7xxms"> <span class="astro-3ii7xxms">Overview</span> </a></li> <li class="astro-3ii7xxms"> <details class="astro-3ii7xxms"><sl-sidebar-restore data-index="0"></sl-sidebar-restore> <summary class="astro-3ii7xxms"> <div class="group-label astro-3ii7xxms"><span class="large astro-3ii7xxms">Concepts</span> </div> <svg aria-hidden="true" class="caret astro-3ii7xxms astro-c6vsoqas" width="16" height="16" viewbox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1.25rem;"> <path d="m14.83 11.29-4.24-4.24a1 1 0 1 0-1.42 1.41L12.71 12l-3.54 3.54a1 1 0 0 0 0 1.41 1 1 0 0 0 .71.29 1 1 0 0 0 .71-.29l4.24-4.24a1.002 1.002 0 0 0 0-1.42Z" /> </svg></summary> <ul class="astro-3ii7xxms"> <li class="astro-3ii7xxms"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/concepts/what-is-cloudflare/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">What is Cloudflare?</span> </a></li> <li class="astro-3ii7xxms"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/concepts/how-cloudflare-works/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">How Cloudflare works</span> </a></li> <li class="astro-3ii7xxms"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/concepts/cloudflare-ip-addresses/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Cloudflare IP addresses</span> </a></li> <li class="astro-3ii7xxms"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/concepts/free-plan/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Our Free plan</span> </a></li> <li class="astro-3ii7xxms"><a href="https://developers-cloudflare-com.translate.goog/reference-architecture/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Reference architectures ↗</span> </a></li> <li class="astro-3ii7xxms"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/concepts/the-internet/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">The Internet</span> </a></li> </ul> </details></li> <li class="astro-3ii7xxms"> <details class="astro-3ii7xxms"><sl-sidebar-restore data-index="1"></sl-sidebar-restore> <summary class="astro-3ii7xxms"> <div class="group-label astro-3ii7xxms"><span class="large astro-3ii7xxms">How to use Cloudflare</span> </div> <svg aria-hidden="true" class="caret astro-3ii7xxms astro-c6vsoqas" width="16" height="16" viewbox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1.25rem;"> <path d="m14.83 11.29-4.24-4.24a1 1 0 1 0-1.42 1.41L12.71 12l-3.54 3.54a1 1 0 0 0 0 1.41 1 1 0 0 0 .71.29 1 1 0 0 0 .71-.29l4.24-4.24a1.002 1.002 0 0 0 0-1.42Z" /> </svg></summary> <ul class="astro-3ii7xxms"> <li class="astro-3ii7xxms"> <details class="astro-3ii7xxms"><sl-sidebar-restore data-index="8"></sl-sidebar-restore> <summary class="astro-3ii7xxms"> <div class="group-label astro-3ii7xxms"><span class="large astro-3ii7xxms">Manage account</span> </div> <svg aria-hidden="true" class="caret astro-3ii7xxms astro-c6vsoqas" width="16" height="16" viewbox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1.25rem;"> <path d="m14.83 11.29-4.24-4.24a1 1 0 1 0-1.42 1.41L12.71 12l-3.54 3.54a1 1 0 0 0 0 1.41 1 1 0 0 0 .71.29 1 1 0 0 0 .71-.29l4.24-4.24a1.002 1.002 0 0 0 0-1.42Z" /> </svg></summary> <ul class="astro-3ii7xxms"> <li class="astro-3ii7xxms"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/setup/account/create-account/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Create account</span> </a></li> <li class="astro-3ii7xxms"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/setup/account/verify-email-address/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Verify email address</span> </a></li> <li class="astro-3ii7xxms"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/setup/account/login/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Log into Cloudflare</span> </a></li> <li class="astro-3ii7xxms"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/setup/account/manage-email-notifications/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Manage email notifications</span> </a></li> <li class="astro-3ii7xxms"> <details class="astro-3ii7xxms"><sl-sidebar-restore data-index="17"></sl-sidebar-restore> <summary class="astro-3ii7xxms"> <div class="group-label astro-3ii7xxms"><span class="large astro-3ii7xxms">Account security</span> </div> <svg aria-hidden="true" class="caret astro-3ii7xxms astro-c6vsoqas" width="16" height="16" viewbox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1.25rem;"> <path d="m14.83 11.29-4.24-4.24a1 1 0 1 0-1.42 1.41L12.71 12l-3.54 3.54a1 1 0 0 0 0 1.41 1 1 0 0 0 .71.29 1 1 0 0 0 .71-.29l4.24-4.24a1.002 1.002 0 0 0 0-1.42Z" /> </svg></summary> <ul class="astro-3ii7xxms"> <li class="astro-3ii7xxms"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/setup/account/account-security/abuse-contact/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Add abuse contact</span> </a></li> <li class="astro-3ii7xxms"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/setup/account/account-security/cloudflare-access/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Allow Cloudflare access</span> </a></li> <li class="astro-3ii7xxms"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/setup/account/account-security/leaked-password-notifications/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Leaked Password Notifications</span> </a></li> <li class="astro-3ii7xxms"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/setup/account/account-security/login-and-account-issues/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Login and account issues</span> </a></li> <li class="astro-3ii7xxms"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/setup/account/account-security/manage-active-sessions/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Manage active sessions</span> </a></li> <li class="astro-3ii7xxms"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/setup/account/account-security/multi-factor-email-authentication/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Multi-Factor Email Authentication</span> </a></li> <li class="astro-3ii7xxms"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/setup/account/account-security/scim-setup/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Provision with SCIM</span> </a></li> <li class="astro-3ii7xxms"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/setup/account/account-security/review-audit-logs/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Review audit logs</span> </a></li> <li class="astro-3ii7xxms"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/setup/account/account-security/secure-a-compromised-account/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Secure compromised account</span> </a></li> <li class="astro-3ii7xxms"><a href="https://developers-cloudflare-com.translate.goog/cloudflare-one/applications/configure-apps/dash-sso-apps/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Set up SSO ↗</span> </a></li> <li class="astro-3ii7xxms"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/setup/account/account-security/2fa/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Two-factor authentication</span> </a></li> <li class="astro-3ii7xxms"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/setup/account/account-security/zone-holds/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Zone holds</span> </a></li> </ul> </details></li> <li class="astro-3ii7xxms"> <details class="astro-3ii7xxms"><sl-sidebar-restore data-index="18"></sl-sidebar-restore> <summary class="astro-3ii7xxms"> <div class="group-label astro-3ii7xxms"><span class="large astro-3ii7xxms">Account customizations</span> </div> <svg aria-hidden="true" class="caret astro-3ii7xxms astro-c6vsoqas" width="16" height="16" viewbox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1.25rem;"> <path d="m14.83 11.29-4.24-4.24a1 1 0 1 0-1.42 1.41L12.71 12l-3.54 3.54a1 1 0 0 0 0 1.41 1 1 0 0 0 .71.29 1 1 0 0 0 .71-.29l4.24-4.24a1.002 1.002 0 0 0 0-1.42Z" /> </svg></summary> <ul class="astro-3ii7xxms"> <li class="astro-3ii7xxms"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/setup/account/customize-account/account-name/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Account name</span> </a></li> <li class="astro-3ii7xxms"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/setup/account/customize-account/appearance/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Appearance</span> </a></li> <li class="astro-3ii7xxms"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/setup/account/customize-account/communication-preference/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Communication preferences</span> </a></li> <li class="astro-3ii7xxms"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/setup/account/customize-account/language-preference/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Language preference</span> </a></li> </ul> </details></li> </ul> </details></li> <li class="astro-3ii7xxms"> <details class="astro-3ii7xxms"><sl-sidebar-restore data-index="9"></sl-sidebar-restore> <summary class="astro-3ii7xxms"> <div class="group-label astro-3ii7xxms"><span class="large astro-3ii7xxms">Manage domains</span> </div> <svg aria-hidden="true" class="caret astro-3ii7xxms astro-c6vsoqas" width="16" height="16" viewbox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1.25rem;"> <path d="m14.83 11.29-4.24-4.24a1 1 0 1 0-1.42 1.41L12.71 12l-3.54 3.54a1 1 0 0 0 0 1.41 1 1 0 0 0 .71.29 1 1 0 0 0 .71-.29l4.24-4.24a1.002 1.002 0 0 0 0-1.42Z" /> </svg></summary> <ul class="astro-3ii7xxms"> <li class="astro-3ii7xxms"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/setup/manage-domains/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" aria-current="false" class="astro-3ii7xxms" data-group-label="Manage domains"> <span class="astro-3ii7xxms">Overview</span> </a></li> <li class="astro-3ii7xxms"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/setup/manage-domains/add-site/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Add a site</span> </a></li> <li class="astro-3ii7xxms"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/setup/manage-domains/add-multiple-sites-automation/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Add multiple sites via automation</span> </a></li> <li class="astro-3ii7xxms"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/setup/manage-domains/domain-version/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Change your domain version</span> </a></li> <li class="astro-3ii7xxms"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/setup/manage-domains/connect-your-domain/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Connect your domain</span> </a></li> <li class="astro-3ii7xxms"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/setup/manage-domains/manage-subdomains/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Manage subdomains</span> </a></li> <li class="astro-3ii7xxms"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/setup/manage-domains/move-domain/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Move a domain between Cloudflare accounts</span> </a></li> <li class="astro-3ii7xxms"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/setup/manage-domains/pause-cloudflare/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Pause Cloudflare</span> </a></li> <li class="astro-3ii7xxms"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/setup/manage-domains/redirect-domain/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Redirect one domain to another</span> </a></li> <li class="astro-3ii7xxms"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/setup/manage-domains/remove-domain/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Remove a domain</span> </a></li> <li class="astro-3ii7xxms"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/setup/manage-domains/star-zones/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Star domains</span> </a></li> </ul> </details></li> <li class="astro-3ii7xxms"> <details class="astro-3ii7xxms"><sl-sidebar-restore data-index="10"></sl-sidebar-restore> <summary class="astro-3ii7xxms"> <div class="group-label astro-3ii7xxms"><span class="large astro-3ii7xxms">Manage members</span> </div> <svg aria-hidden="true" class="caret astro-3ii7xxms astro-c6vsoqas" width="16" height="16" viewbox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1.25rem;"> <path d="m14.83 11.29-4.24-4.24a1 1 0 1 0-1.42 1.41L12.71 12l-3.54 3.54a1 1 0 0 0 0 1.41 1 1 0 0 0 .71.29 1 1 0 0 0 .71-.29l4.24-4.24a1.002 1.002 0 0 0 0-1.42Z" /> </svg></summary> <ul class="astro-3ii7xxms"> <li class="astro-3ii7xxms"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/setup/manage-members/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" aria-current="false" class="astro-3ii7xxms" data-group-label="Manage members"> <span class="astro-3ii7xxms">Overview</span> </a></li> <li class="astro-3ii7xxms"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/setup/manage-members/manage/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Manage</span> </a></li> <li class="astro-3ii7xxms"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/setup/manage-members/policies/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Policies</span> </a></li> <li class="astro-3ii7xxms"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/setup/manage-members/roles/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Roles</span> </a></li> <li class="astro-3ii7xxms"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/setup/manage-members/scope/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Role scopes</span> </a></li> <li class="astro-3ii7xxms"><a href="https://developers-cloudflare-com.translate.goog/cloudflare-one/applications/configure-apps/dash-sso-apps/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Set up SSO ↗</span> </a></li> </ul> </details></li> <li class="astro-3ii7xxms"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/setup/accounts-and-zones/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Accounts, zones, and profiles</span> </a></li> <li class="astro-3ii7xxms"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/setup/find-account-and-zone-ids/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Find zone and account IDs</span> </a></li> <li class="astro-3ii7xxms"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/setup/use-cloudflare-without-changing-nameservers/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Use Cloudflare without changing nameservers</span> </a></li> <li class="astro-3ii7xxms"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/setup/troubleshooting/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Troubleshooting</span> </a></li> <li class="astro-3ii7xxms"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/setup/interact-with-cloudflare/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Interacting with Cloudflare</span> </a></li> </ul> </details></li> <li class="astro-3ii7xxms"> <details class="astro-3ii7xxms"><sl-sidebar-restore data-index="2"></sl-sidebar-restore> <summary class="astro-3ii7xxms"> <div class="group-label astro-3ii7xxms"><span class="large astro-3ii7xxms">Subscriptions and billing</span> </div> <svg aria-hidden="true" class="caret astro-3ii7xxms astro-c6vsoqas" width="16" height="16" viewbox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1.25rem;"> <path d="m14.83 11.29-4.24-4.24a1 1 0 1 0-1.42 1.41L12.71 12l-3.54 3.54a1 1 0 0 0 0 1.41 1 1 0 0 0 .71.29 1 1 0 0 0 .71-.29l4.24-4.24a1.002 1.002 0 0 0 0-1.42Z" /> </svg></summary> <ul class="astro-3ii7xxms"> <li class="astro-3ii7xxms"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/subscriptions-and-billing/create-billing-profile/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Create billing profile</span> </a></li> <li class="astro-3ii7xxms"><a href="https://developers-cloudflare-com.translate.goog/support/account-management-billing/billing-cloudflare-plans/cloudflare-billing-policy/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Billing Policy ↗</span> </a></li> <li class="astro-3ii7xxms"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/subscriptions-and-billing/cancel-subscription/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Cancel Cloudflare subscriptions</span> </a></li> <li class="astro-3ii7xxms"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/subscriptions-and-billing/change-plan/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Change domain plan</span> </a></li> <li class="astro-3ii7xxms"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/subscriptions-and-billing/change-password-or-email/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Change password or email</span> </a></li> <li class="astro-3ii7xxms"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/subscriptions-and-billing/change-super-admin/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Change Super Administrator</span> </a></li> <li class="astro-3ii7xxms"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/subscriptions-and-billing/delete-account/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Delete your Cloudflare account</span> </a></li> <li class="astro-3ii7xxms"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/subscriptions-and-billing/preview-services/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Preview services</span> </a></li> <li class="astro-3ii7xxms"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/subscriptions-and-billing/troubleshooting-failed-payments/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Troubleshoot failed payments</span> </a></li> <li class="astro-3ii7xxms"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/subscriptions-and-billing/understand-invoices/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Understand Cloudflare invoices</span> </a></li> <li class="astro-3ii7xxms"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/subscriptions-and-billing/update-billing-info/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Update billing information</span> </a></li> </ul> </details></li> <li class="astro-3ii7xxms"> <details class="astro-3ii7xxms"><sl-sidebar-restore data-index="3"></sl-sidebar-restore> <summary class="astro-3ii7xxms"> <div class="group-label astro-3ii7xxms"><span class="large astro-3ii7xxms">Performance</span> </div> <svg aria-hidden="true" class="caret astro-3ii7xxms astro-c6vsoqas" width="16" height="16" viewbox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1.25rem;"> <path d="m14.83 11.29-4.24-4.24a1 1 0 1 0-1.42 1.41L12.71 12l-3.54 3.54a1 1 0 0 0 0 1.41 1 1 0 0 0 .71.29 1 1 0 0 0 .71-.29l4.24-4.24a1.002 1.002 0 0 0 0-1.42Z" /> </svg></summary> <ul class="astro-3ii7xxms"> <li class="astro-3ii7xxms"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/performance/improve-seo/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Improve SEO</span> </a></li> <li class="astro-3ii7xxms"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/performance/maintenance-mode/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Maintenance mode</span> </a></li> <li class="astro-3ii7xxms"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/performance/minimize-downtime/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Minimize downtime</span> </a></li> <li class="astro-3ii7xxms"><a href="https://developers-cloudflare-com.translate.goog/speed/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Optimize site speed ↗</span> </a></li> <li class="astro-3ii7xxms"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/performance/preparing-for-surges-or-spikes-in-web-traffic/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Prepare for surges or spikes in web traffic</span> </a></li> <li class="astro-3ii7xxms"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/performance/test-speed/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Test speed</span> </a></li> </ul> </details></li> <li class="astro-3ii7xxms"> <details class="astro-3ii7xxms"><sl-sidebar-restore data-index="4"></sl-sidebar-restore> <summary class="astro-3ii7xxms"> <div class="group-label astro-3ii7xxms"><span class="large astro-3ii7xxms">Security</span> </div> <svg aria-hidden="true" class="caret astro-3ii7xxms astro-c6vsoqas" width="16" height="16" viewbox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1.25rem;"> <path d="m14.83 11.29-4.24-4.24a1 1 0 1 0-1.42 1.41L12.71 12l-3.54 3.54a1 1 0 0 0 0 1.41 1 1 0 0 0 .71.29 1 1 0 0 0 .71-.29l4.24-4.24a1.002 1.002 0 0 0 0-1.42Z" /> </svg></summary> <ul class="astro-3ii7xxms"> <li class="astro-3ii7xxms"><a href="https://developers-cloudflare-com.translate.goog/learning-paths/prevent-ddos-attacks/concepts/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Prevent DDoS attacks ↗</span> </a></li> <li class="astro-3ii7xxms"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/security/protect-your-origin-server/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Protect your origin server</span> </a></li> <li class="astro-3ii7xxms"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/security/recovering-from-hacked-site/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Recovering from a hacked site</span> </a></li> <li class="astro-3ii7xxms"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/security/pci-scans/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Scan for PCI compliance</span> </a></li> <li class="astro-3ii7xxms"><a href="https://developers-cloudflare-com.translate.goog/learning-paths/application-security/account-security/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Secure your website ↗</span> </a></li> <li class="astro-3ii7xxms"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/security/under-ddos-attack/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Under a DDoS attack?</span> </a></li> </ul> </details></li> <li class="astro-3ii7xxms"> <details class="astro-3ii7xxms"><sl-sidebar-restore data-index="5"></sl-sidebar-restore> <summary class="astro-3ii7xxms"> <div class="group-label astro-3ii7xxms"><span class="large astro-3ii7xxms">Trace a request</span> </div> <svg aria-hidden="true" class="caret astro-3ii7xxms astro-c6vsoqas" width="16" height="16" viewbox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1.25rem;"> <path d="m14.83 11.29-4.24-4.24a1 1 0 1 0-1.42 1.41L12.71 12l-3.54 3.54a1 1 0 0 0 0 1.41 1 1 0 0 0 .71.29 1 1 0 0 0 .71-.29l4.24-4.24a1.002 1.002 0 0 0 0-1.42Z" /> </svg></summary> <ul class="astro-3ii7xxms"> <li class="astro-3ii7xxms"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/trace-request/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" aria-current="false" class="astro-3ii7xxms" data-group-label="Trace a request"> <span class="astro-3ii7xxms">Overview</span> <span class="sl-badge caution small astro-3ii7xxms astro-avdet4wd">Beta</span> </a></li> <li class="astro-3ii7xxms"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/trace-request/how-to/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Use Cloudflare Trace</span> <span class="sl-badge caution small astro-3ii7xxms astro-avdet4wd">Beta</span> </a></li> <li class="astro-3ii7xxms"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/trace-request/limitations/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Limitations</span> </a></li> <li class="astro-3ii7xxms"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/trace-request/changelog/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Changelog</span> </a></li> </ul> </details></li> <li class="astro-3ii7xxms"> <details open class="astro-3ii7xxms"><sl-sidebar-restore data-index="6"></sl-sidebar-restore> <summary class="astro-3ii7xxms"> <div class="group-label astro-3ii7xxms"><span class="large astro-3ii7xxms">Cloudflare's API</span> </div> <svg aria-hidden="true" class="caret astro-3ii7xxms astro-c6vsoqas" width="16" height="16" viewbox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1.25rem;"> <path d="m14.83 11.29-4.24-4.24a1 1 0 1 0-1.42 1.41L12.71 12l-3.54 3.54a1 1 0 0 0 0 1.41 1 1 0 0 0 .71.29 1 1 0 0 0 .71-.29l4.24-4.24a1.002 1.002 0 0 0 0-1.42Z" /> </svg></summary> <ul class="astro-3ii7xxms"> <li class="astro-3ii7xxms"> <details class="astro-3ii7xxms"><sl-sidebar-restore data-index="11"></sl-sidebar-restore> <summary class="astro-3ii7xxms"> <div class="group-label astro-3ii7xxms"><span class="large astro-3ii7xxms">Get started</span> </div> <svg aria-hidden="true" class="caret astro-3ii7xxms astro-c6vsoqas" width="16" height="16" viewbox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1.25rem;"> <path d="m14.83 11.29-4.24-4.24a1 1 0 1 0-1.42 1.41L12.71 12l-3.54 3.54a1 1 0 0 0 0 1.41 1 1 0 0 0 .71.29 1 1 0 0 0 .71-.29l4.24-4.24a1.002 1.002 0 0 0 0-1.42Z" /> </svg></summary> <ul class="astro-3ii7xxms"> <li class="astro-3ii7xxms"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/api/get-started/create-token/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Create API token</span> </a></li> <li class="astro-3ii7xxms"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/api/get-started/keys/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Get Global API key (legacy)</span> </a></li> <li class="astro-3ii7xxms"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/api/get-started/ca-keys/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Get Origin CA keys</span> </a></li> <li class="astro-3ii7xxms"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/api/get-started/account-owned-tokens/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Account owned tokens</span> </a></li> </ul> </details></li> <li class="astro-3ii7xxms"> <details class="astro-3ii7xxms"><sl-sidebar-restore data-index="12"></sl-sidebar-restore> <summary class="astro-3ii7xxms"> <div class="group-label astro-3ii7xxms"><span class="large astro-3ii7xxms">How to</span> </div> <svg aria-hidden="true" class="caret astro-3ii7xxms astro-c6vsoqas" width="16" height="16" viewbox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1.25rem;"> <path d="m14.83 11.29-4.24-4.24a1 1 0 1 0-1.42 1.41L12.71 12l-3.54 3.54a1 1 0 0 0 0 1.41 1 1 0 0 0 .71.29 1 1 0 0 0 .71-.29l4.24-4.24a1.002 1.002 0 0 0 0-1.42Z" /> </svg></summary> <ul class="astro-3ii7xxms"> <li class="astro-3ii7xxms"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/api/how-to/make-api-calls/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Make API calls</span> </a></li> <li class="astro-3ii7xxms"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/api/how-to/create-via-api/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Create tokens via API</span> </a></li> <li class="astro-3ii7xxms"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/api/how-to/control-api-access/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Control API Access</span> </a></li> <li class="astro-3ii7xxms"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/api/how-to/restrict-tokens/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Restrict tokens</span> </a></li> <li class="astro-3ii7xxms"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/api/how-to/roll-token/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Roll tokens</span> </a></li> </ul> </details></li> <li class="astro-3ii7xxms"> <details open class="astro-3ii7xxms"><sl-sidebar-restore data-index="13"></sl-sidebar-restore> <summary class="astro-3ii7xxms"> <div class="group-label astro-3ii7xxms"><span class="large astro-3ii7xxms">Reference</span> </div> <svg aria-hidden="true" class="caret astro-3ii7xxms astro-c6vsoqas" width="16" height="16" viewbox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1.25rem;"> <path d="m14.83 11.29-4.24-4.24a1 1 0 1 0-1.42 1.41L12.71 12l-3.54 3.54a1 1 0 0 0 0 1.41 1 1 0 0 0 .71.29 1 1 0 0 0 .71-.29l4.24-4.24a1.002 1.002 0 0 0 0-1.42Z" /> </svg></summary> <ul class="astro-3ii7xxms"> <li class="astro-3ii7xxms"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/api/reference/limits/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Limits</span> </a></li> <li class="astro-3ii7xxms"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/api/reference/permissions/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">API token permissions</span> </a></li> <li class="astro-3ii7xxms"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/api/reference/template/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">API token templates</span> </a></li> <li class="astro-3ii7xxms"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/api/reference/deprecations/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" aria-current="page" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">API deprecations</span> </a></li> <li class="astro-3ii7xxms"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/api/reference/sdks/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">SDKs</span> </a></li> </ul> </details></li> <li class="astro-3ii7xxms"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/api/troubleshooting/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Troubleshooting</span> </a></li> <li class="astro-3ii7xxms"> <details class="astro-3ii7xxms"><sl-sidebar-restore data-index="14"></sl-sidebar-restore> <summary class="astro-3ii7xxms"> <div class="group-label astro-3ii7xxms"><span class="large astro-3ii7xxms">Building custom views</span> </div> <svg aria-hidden="true" class="caret astro-3ii7xxms astro-c6vsoqas" width="16" height="16" viewbox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1.25rem;"> <path d="m14.83 11.29-4.24-4.24a1 1 0 1 0-1.42 1.41L12.71 12l-3.54 3.54a1 1 0 0 0 0 1.41 1 1 0 0 0 .71.29 1 1 0 0 0 .71-.29l4.24-4.24a1.002 1.002 0 0 0 0-1.42Z" /> </svg></summary> <ul class="astro-3ii7xxms"> <li class="astro-3ii7xxms"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/api/building-custom-dashboards/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" aria-current="false" class="astro-3ii7xxms" data-group-label="Building custom views"> <span class="astro-3ii7xxms">Overview</span> </a></li> </ul> </details></li> </ul> </details></li> <li class="astro-3ii7xxms"> <details class="astro-3ii7xxms"><sl-sidebar-restore data-index="7"></sl-sidebar-restore> <summary class="astro-3ii7xxms"> <div class="group-label astro-3ii7xxms"><span class="large astro-3ii7xxms">Reference</span> </div> <svg aria-hidden="true" class="caret astro-3ii7xxms astro-c6vsoqas" width="16" height="16" viewbox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1.25rem;"> <path d="m14.83 11.29-4.24-4.24a1 1 0 1 0-1.42 1.41L12.71 12l-3.54 3.54a1 1 0 0 0 0 1.41 1 1 0 0 0 .71.29 1 1 0 0 0 .71-.29l4.24-4.24a1.002 1.002 0 0 0 0-1.42Z" /> </svg></summary> <ul class="astro-3ii7xxms"> <li class="astro-3ii7xxms"> <details class="astro-3ii7xxms"><sl-sidebar-restore data-index="15"></sl-sidebar-restore> <summary class="astro-3ii7xxms"> <div class="group-label astro-3ii7xxms"><span class="large astro-3ii7xxms">Policies</span> </div> <svg aria-hidden="true" class="caret astro-3ii7xxms astro-c6vsoqas" width="16" height="16" viewbox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1.25rem;"> <path d="m14.83 11.29-4.24-4.24a1 1 0 1 0-1.42 1.41L12.71 12l-3.54 3.54a1 1 0 0 0 0 1.41 1 1 0 0 0 .71.29 1 1 0 0 0 .71-.29l4.24-4.24a1.002 1.002 0 0 0 0-1.42Z" /> </svg></summary> <ul class="astro-3ii7xxms"> <li class="astro-3ii7xxms"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/reference/policies-compliances/cloudflare-cookies/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Cloudflare Cookies</span> </a></li> <li class="astro-3ii7xxms"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/reference/policies-compliances/compliance-docs/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Compliance documentation</span> </a></li> <li class="astro-3ii7xxms"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/reference/policies-compliances/content-security-policies/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Content Security Policies (CSPs)</span> </a></li> <li class="astro-3ii7xxms"><a href="https://developers-cloudflare-com.translate.goog/support/about-cloudflare/enterprise-documentation/customer-incident-management-policy/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Incident Management Policy ↗</span> </a></li> <li class="astro-3ii7xxms"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/reference/policies-compliances/licenses/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Licenses</span> </a></li> <li class="astro-3ii7xxms"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/reference/policies-compliances/cybersafe/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Project Cybersafe Schools</span> </a></li> </ul> </details></li> <li class="astro-3ii7xxms"> <details class="astro-3ii7xxms"><sl-sidebar-restore data-index="16"></sl-sidebar-restore> <summary class="astro-3ii7xxms"> <div class="group-label astro-3ii7xxms"><span class="large astro-3ii7xxms">Abuse</span> </div> <svg aria-hidden="true" class="caret astro-3ii7xxms astro-c6vsoqas" width="16" height="16" viewbox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1.25rem;"> <path d="m14.83 11.29-4.24-4.24a1 1 0 1 0-1.42 1.41L12.71 12l-3.54 3.54a1 1 0 0 0 0 1.41 1 1 0 0 0 .71.29 1 1 0 0 0 .71-.29l4.24-4.24a1.002 1.002 0 0 0 0-1.42Z" /> </svg></summary> <ul class="astro-3ii7xxms"> <li class="astro-3ii7xxms"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/reference/report-abuse/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" aria-current="false" class="astro-3ii7xxms" data-group-label="Abuse"> <span class="astro-3ii7xxms">Overview</span> </a></li> <li class="astro-3ii7xxms"><a href="https://translate.google.com/website?sl=pl&amp;tl=en&amp;hl=en-GB&amp;u=https://www.cloudflare.com/trust-hub/abuse-approach/" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Review abuse policies ↗</span> </a></li> <li class="astro-3ii7xxms"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/reference/report-abuse/complaint-types/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Complaint types</span> </a></li> <li class="astro-3ii7xxms"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/reference/report-abuse/provide-specific-urls/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Providing specific URLs</span> </a></li> <li class="astro-3ii7xxms"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/reference/report-abuse/abuse-report-obligations/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Customer abuse report obligations</span> </a></li> <li class="astro-3ii7xxms"><a href="https://translate.google.com/website?sl=pl&amp;tl=en&amp;hl=en-GB&amp;u=https://abuse.cloudflare.com/" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Submit report ↗</span> </a></li> </ul> </details></li> <li class="astro-3ii7xxms"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/reference/sdk-ecosystem-support-policy/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">SDK ecosystem support policy</span> </a></li> <li class="astro-3ii7xxms"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/reference/cdn-cgi-endpoint/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">/cdn-cgi/ endpoint</span> </a></li> <li class="astro-3ii7xxms"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/reference/google-analytics/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Cloudflare and Google Analytics</span> </a></li> <li class="astro-3ii7xxms"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/reference/cloudflare-site-crawling/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Cloudflare crawlers</span> </a></li> <li class="astro-3ii7xxms"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/reference/http-headers/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Cloudflare HTTP headers</span> </a></li> <li class="astro-3ii7xxms"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/reference/cloudflare-ray-id/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Cloudflare Ray ID</span> </a></li> <li class="astro-3ii7xxms"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/reference/connection-limits/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Connection limits</span> </a></li> <li class="astro-3ii7xxms"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/reference/cryptographic-personhood/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Cryptographic Attestation of Personhood</span> </a></li> <li class="astro-3ii7xxms"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/reference/glossary/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Glossary</span> </a></li> <li class="astro-3ii7xxms"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/reference/network-layers/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Network Layers</span> </a></li> <li class="astro-3ii7xxms"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/reference/network-ports/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Network ports</span> </a></li> <li class="astro-3ii7xxms"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/reference/partners/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Partners</span> </a></li> <li class="astro-3ii7xxms"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/reference/redirects/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Redirects</span> </a></li> <li class="astro-3ii7xxms"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/reference/scans-penetration/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Scans and penetration testing policy</span> </a></li> <li class="astro-3ii7xxms"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/reference/tcp-connections/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">TCP connections</span> </a></li> <li class="astro-3ii7xxms"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/reference/under-attack-mode/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" aria-current="false" class="astro-3ii7xxms"> <span class="astro-3ii7xxms">Under Attack mode</span> </a></li> </ul> </details></li> <li class="astro-3ii7xxms"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/changelog/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" aria-current="false" class="large astro-3ii7xxms"> <span class="astro-3ii7xxms">Changelog</span> </a></li> </ul> <script aria-hidden="true"> (() => { const scroller = document.getElementById('starlight__sidebar'); if (!window._starlightScrollRestore || !scroller) return; scroller.scrollTop = window._starlightScrollRestore; delete window._starlightScrollRestore; })(); </script> </sl-sidebar-state-persist> <div class="md:sl-hidden"> <div class="mobile-preferences sl-flex astro-wu23bvmt"> <div class="sl-flex social-icons astro-wu23bvmt"> <div class="items-center hidden lg:flex mx-auto astro-r3tjzkat"><a href="https://developers-cloudflare-com.translate.goog/products/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" class="px-4 no-underline text-[--sl-color-text] font-medium astro-r3tjzkat"> <span class="astro-r3tjzkat">Products</span> </a><a href="https://developers-cloudflare-com.translate.goog/learning-paths/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" class="px-4 no-underline text-[--sl-color-text] font-medium astro-r3tjzkat"> <span class="astro-r3tjzkat">Learning</span> </a><a href="https://translate.google.com/website?sl=pl&amp;tl=en&amp;hl=en-GB&amp;u=https://www.cloudflarestatus.com/" class="px-4 no-underline text-[--sl-color-text] font-medium astro-r3tjzkat"> <span class="astro-r3tjzkat">Status</span> </a><a href="https://developers-cloudflare-com.translate.goog/support/contacting-cloudflare-support/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" class="px-4 no-underline text-[--sl-color-text] font-medium astro-r3tjzkat"> <span class="astro-r3tjzkat">Support</span> </a><a href="https://translate.google.com/website?sl=pl&amp;tl=en&amp;hl=en-GB&amp;u=https://dash.cloudflare.com" class="px-4 no-underline text-[--sl-color-text] font-medium astro-r3tjzkat"> <span class="astro-r3tjzkat">Log in</span> </a> </div><a href="https://translate.google.com/website?sl=pl&amp;tl=en&amp;hl=en-GB&amp;u=https://github.com/cloudflare/cloudflare-docs" rel="me" class="sl-flex astro-wy4te6ga"><span class="sr-only astro-wy4te6ga">GitHub</span> <svg aria-hidden="true" class="astro-wy4te6ga astro-c6vsoqas" width="16" height="16" viewbox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"> <path d="M12 .3a12 12 0 0 0-3.8 23.38c.6.12.83-.26.83-.57L9 21.07c-3.34.72-4.04-1.61-4.04-1.61-.55-1.39-1.34-1.76-1.34-1.76-1.08-.74.09-.73.09-.73 1.2.09 1.83 1.24 1.83 1.24 1.08 1.83 2.81 1.3 3.5 1 .1-.78.42-1.31.76-1.61-2.67-.3-5.47-1.33-5.47-5.93 0-1.31.47-2.38 1.24-3.22-.14-.3-.54-1.52.1-3.18 0 0 1-.32 3.3 1.23a11.5 11.5 0 0 1 6 0c2.28-1.55 3.29-1.23 3.29-1.23.64 1.66.24 2.88.12 3.18a4.65 4.65 0 0 1 1.23 3.22c0 4.61-2.8 5.63-5.48 5.92.42.36.81 1.1.81 2.22l-.01 3.29c0 .31.2.69.82.57A12 12 0 0 0 12 .3Z" /> </svg></a><a href="https://translate.google.com/website?sl=pl&amp;tl=en&amp;hl=en-GB&amp;u=https://x.com/cloudflare" rel="me" class="sl-flex astro-wy4te6ga"><span class="sr-only astro-wy4te6ga">X</span> <svg aria-hidden="true" class="astro-wy4te6ga astro-c6vsoqas" width="16" height="16" viewbox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"> <path d="M 18.242188 2.25 L 21.554688 2.25 L 14.324219 10.507812 L 22.828125 21.75 L 16.171875 21.75 L 10.953125 14.933594 L 4.992188 21.75 L 1.679688 21.75 L 9.40625 12.914062 L 1.257812 2.25 L 8.082031 2.25 L 12.792969 8.480469 Z M 17.082031 19.773438 L 18.914062 19.773438 L 7.082031 4.125 L 5.113281 4.125 Z M 17.082031 19.773438 " /> </svg></a><a href="https://translate.google.com/website?sl=pl&amp;tl=en&amp;hl=en-GB&amp;u=https://www.youtube.com/cloudflare" rel="me" class="sl-flex astro-wy4te6ga"><span class="sr-only astro-wy4te6ga">YouTube</span> <svg aria-hidden="true" class="astro-wy4te6ga astro-c6vsoqas" width="16" height="16" viewbox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"> <path d="M23.5 6.2A3 3 0 0 0 21.4 4c-1.9-.5-9.4-.5-9.4-.5s-7.5 0-9.4.5A3 3 0 0 0 .5 6.3C0 8 0 12 0 12s0 4 .5 5.8A3 3 0 0 0 2.6 20c1.9.6 9.4.6 9.4.6s7.5 0 9.4-.6a3 3 0 0 0 2.1-2c.5-2 .5-5.9.5-5.9s0-4-.5-5.8zm-14 9.4V8.4l6.3 3.6-6.3 3.6z" /> </svg></a> </div><starlight-theme-select> <label style="--sl-select-width: 6.25em" class="astro-4yphtoen"> <span class="sr-only astro-4yphtoen">Select theme</span> <svg aria-hidden="true" class="icon label-icon astro-4yphtoen astro-c6vsoqas" width="16" height="16" viewbox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"> <path d="M21 14h-1V7a3 3 0 0 0-3-3H7a3 3 0 0 0-3 3v7H3a1 1 0 0 0-1 1v2a3 3 0 0 0 3 3h14a3 3 0 0 0 3-3v-2a1 1 0 0 0-1-1ZM6 7a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v7H6V7Zm14 10a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1v-1h16v1Z" /> </svg><select value="auto" autocomplete="off" class="astro-4yphtoen"> <option value="dark" class="astro-4yphtoen">Dark</option><option value="light" class="astro-4yphtoen">Light</option><option value="auto" selected class="astro-4yphtoen">Auto</option> </select> <svg aria-hidden="true" class="icon caret astro-4yphtoen astro-c6vsoqas" width="16" height="16" viewbox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"> <path d="M17 9.17a1 1 0 0 0-1.41 0L12 12.71 8.46 9.17a1 1 0 1 0-1.41 1.42l4.24 4.24a1.002 1.002 0 0 0 1.42 0L17 10.59a1.002 1.002 0 0 0 0-1.42Z" /> </svg></label> </starlight-theme-select> <script> StarlightThemeProvider.updatePickers(); </script> </div> </div> </div> </div> </nav> <div class="main-frame astro-vrdttmbt"> <script type="module">const a=document.getElementById("starlight__sidebar"),n=a?.querySelector("sl-sidebar-state-persist"),o="sl-sidebar-state",i=()=>{let t=[];const e=n?.dataset.hash||"";try{const s=sessionStorage.getItem(o),r=JSON.parse(s||"{}");Array.isArray(r.open)&&r.hash===e&&(t=r.open)}catch{}return{hash:e,open:t,scroll:a?.scrollTop||0}},c=t=>{try{sessionStorage.setItem(o,JSON.stringify(t))}catch{}},d=()=>c(i()),l=(t,e)=>{const s=i();s.open[e]=t,c(s)};n?.addEventListener("click",t=>{if(!(t.target instanceof Element))return;const e=t.target.closest("summary")?.closest("details");if(!e)return;const s=e.querySelector("sl-sidebar-restore"),r=parseInt(s?.dataset.index||"");isNaN(r)||l(!e.open,r)});addEventListener("visibilitychange",()=>{document.visibilityState==="hidden"&&d()});addEventListener("pageHide",d);</script> <div class="lg:sl-flex astro-67yu43on"> <aside class="right-sidebar-container print:hidden astro-67yu43on"> <div class="right-sidebar astro-67yu43on"> <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"));})();;(()=>{var A=Object.defineProperty;var g=(i,o,a)=>o in i?A(i,o,{enumerable:!0,configurable:!0,writable:!0,value:a}):i[o]=a;var d=(i,o,a)=>g(i,typeof o!="symbol"?o+"":o,a);{let i={0:t=>m(t),1:t=>a(t),2:t=>new RegExp(t),3:t=>new Date(t),4:t=>new Map(a(t)),5:t=>new Set(a(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=>1/0*t},o=t=>{let[l,e]=t;return l in i?i[l](e):void 0},a=t=>t.map(o),m=t=>typeof t!="object"||t===null?t:Object.fromEntries(Object.entries(t).map(([l,e])=>[l,o(e)]));class y extends HTMLElement{constructor(){super(...arguments);d(this,"Component");d(this,"hydrator");d(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 c=this.querySelectorAll("astro-slot"),n={},h=this.querySelectorAll("template[data-astro-template]");for(let r of h){let s=r.closest(this.tagName);s!=null&&s.isSameNode(this)&&(n[r.getAttribute("data-astro-template")||"default"]=r.innerHTML,r.remove())}for(let r of c){let s=r.closest(this.tagName);s!=null&&s.isSameNode(this)&&(n[r.getAttribute("name")||"default"]=r.innerHTML)}let p;try{p=this.hasAttribute("props")?m(JSON.parse(this.getAttribute("props"))):{}}catch(r){let s=this.getAttribute("component-url")||"<unknown>",v=this.getAttribute("component-export");throw v&&(s+=` (export ${v})`),console.error(`[hydrate] Error parsing props for component ${s}`,this.getAttribute("props"),r),r}let u;await this.hydrator(this)(this.Component,p,n,{client:this.getAttribute("client")}),this.removeAttribute("ssr"),this.dispatchEvent(new CustomEvent("astro:hydrate"))});d(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),c.disconnect(),this.childrenConnectedCallback()},c=new MutationObserver(()=>{var n;((n=this.lastChild)==null?void 0:n.nodeType)===Node.COMMENT_NODE&&this.lastChild.nodeValue==="astro:end"&&(this.lastChild.remove(),e())});c.observe(this,{childList:!0}),document.addEventListener("DOMContentLoaded",e)}}async childrenConnectedCallback(){let e=this.getAttribute("before-hydration-url");e&&await import(e),this.start()}async start(){let e=JSON.parse(this.getAttribute("opts")),c=this.getAttribute("client");if(Astro[c]===void 0){window.addEventListener(`astro:${c}`,()=>this.start(),{once:!0});return}try{await Astro[c](async()=>{let n=this.getAttribute("renderer-url"),[h,{default:p}]=await Promise.all([import(this.getAttribute("component-url")),n?import(n):()=>()=>{}]),u=this.getAttribute("component-export")||"default";if(!u.includes("."))this.Component=h[u];else{this.Component=h;for(let f of u.split("."))this.Component=this.Component[f]}return this.hydrator=p,this.hydrate},e,this)}catch(n){console.error(`[astro-island] Error hydrating ${this.getAttribute("component-url")}`,n)}}attributeChangedCallback(){this.hydrate()}}d(y,"observedAttributes",["props"]),customElements.get("astro-island")||customElements.define("astro-island",y)}})();</script> <div class="lg:sl-hidden astro-pb3aqygn"> <mobile-starlight-toc data-min-h="2" data-max-h="3" class="astro-doynk5tl"> <nav aria-labelledby="starlight__on-this-page--mobile" class="astro-doynk5tl"> <details id="starlight__mobile-toc" class="astro-doynk5tl"> <summary id="starlight__on-this-page--mobile" class="sl-flex astro-doynk5tl"> <div class="toggle sl-flex astro-doynk5tl"> On this page <svg aria-hidden="true" class="caret astro-doynk5tl astro-c6vsoqas" width="16" height="16" viewbox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1rem;"> <path d="m14.83 11.29-4.24-4.24a1 1 0 1 0-1.42 1.41L12.71 12l-3.54 3.54a1 1 0 0 0 0 1.41 1 1 0 0 0 .71.29 1 1 0 0 0 .71-.29l4.24-4.24a1.002 1.002 0 0 0 0-1.42Z" /> </svg> </div><span class="display-current astro-doynk5tl"></span></summary> <div class="dropdown astro-doynk5tl"> <ul class="isMobile astro-g2bywc46" style="--depth: 0;"> <li class="astro-g2bywc46" style="--depth: 0;"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/api/reference/deprecations/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB#_top" class="astro-g2bywc46" style="--depth: 0;"> <span class="astro-g2bywc46" style="--depth: 0;">Overview</span> </a></li> <li class="astro-g2bywc46" style="--depth: 0;"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/api/reference/deprecations/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB#2025-07-01" class="astro-g2bywc46" style="--depth: 0;"> <span class="astro-g2bywc46" style="--depth: 0;">2025-07-01</span> </a></li> <li class="astro-g2bywc46" style="--depth: 0;"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/api/reference/deprecations/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB#2025-06-15" class="astro-g2bywc46" style="--depth: 0;"> <span class="astro-g2bywc46" style="--depth: 0;">2025-06-15</span> </a></li> <li class="astro-g2bywc46" style="--depth: 0;"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/api/reference/deprecations/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB#2025-06-15" class="astro-g2bywc46" style="--depth: 0;"> <span class="astro-g2bywc46" style="--depth: 0;">2025-06-15</span> </a></li> <li class="astro-g2bywc46" style="--depth: 0;"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/api/reference/deprecations/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB#2025-06-15" class="astro-g2bywc46" style="--depth: 0;"> <span class="astro-g2bywc46" style="--depth: 0;">2025-06-15</span> </a></li> <li class="astro-g2bywc46" style="--depth: 0;"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/api/reference/deprecations/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB#2025-03-23" class="astro-g2bywc46" style="--depth: 0;"> <span class="astro-g2bywc46" style="--depth: 0;">2025-03-23</span> </a></li> <li class="astro-g2bywc46" style="--depth: 0;"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/api/reference/deprecations/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB#2025-03-21" class="astro-g2bywc46" style="--depth: 0;"> <span class="astro-g2bywc46" style="--depth: 0;">2025-03-21</span> </a></li> <li class="astro-g2bywc46" style="--depth: 0;"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/api/reference/deprecations/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB#2025-03-14" class="astro-g2bywc46" style="--depth: 0;"> <span class="astro-g2bywc46" style="--depth: 0;">2025-03-14</span> </a></li> <li class="astro-g2bywc46" style="--depth: 0;"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/api/reference/deprecations/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB#2025-02-21" class="astro-g2bywc46" style="--depth: 0;"> <span class="astro-g2bywc46" style="--depth: 0;">2025-02-21</span> </a></li> <li class="astro-g2bywc46" style="--depth: 0;"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/api/reference/deprecations/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB#2024-12-09" class="astro-g2bywc46" style="--depth: 0;"> <span class="astro-g2bywc46" style="--depth: 0;">2024-12-09</span> </a></li> <li class="astro-g2bywc46" style="--depth: 0;"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/api/reference/deprecations/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB#2024-11-30" class="astro-g2bywc46" style="--depth: 0;"> <span class="astro-g2bywc46" style="--depth: 0;">2024-11-30</span> </a></li> <li class="astro-g2bywc46" style="--depth: 0;"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/api/reference/deprecations/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB#2024-10-01" class="astro-g2bywc46" style="--depth: 0;"> <span class="astro-g2bywc46" style="--depth: 0;">2024-10-01</span> </a></li> <li class="astro-g2bywc46" style="--depth: 0;"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/api/reference/deprecations/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB#2024-09-13" class="astro-g2bywc46" style="--depth: 0;"> <span class="astro-g2bywc46" style="--depth: 0;">2024-09-13</span> </a></li> <li class="astro-g2bywc46" style="--depth: 0;"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/api/reference/deprecations/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB#2024-08-15" class="astro-g2bywc46" style="--depth: 0;"> <span class="astro-g2bywc46" style="--depth: 0;">2024-08-15</span> </a></li> <li class="astro-g2bywc46" style="--depth: 0;"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/api/reference/deprecations/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB#2024-08-05" class="astro-g2bywc46" style="--depth: 0;"> <span class="astro-g2bywc46" style="--depth: 0;">2024-08-05</span> </a></li> <li class="astro-g2bywc46" style="--depth: 0;"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/api/reference/deprecations/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB#2024-07-14" class="astro-g2bywc46" style="--depth: 0;"> <span class="astro-g2bywc46" style="--depth: 0;">2024-07-14</span> </a></li> <li class="astro-g2bywc46" style="--depth: 0;"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/api/reference/deprecations/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB#2024-06-30" class="astro-g2bywc46" style="--depth: 0;"> <span class="astro-g2bywc46" style="--depth: 0;">2024-06-30</span> </a></li> <li class="astro-g2bywc46" style="--depth: 0;"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/api/reference/deprecations/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB#2024-06-14" class="astro-g2bywc46" style="--depth: 0;"> <span class="astro-g2bywc46" style="--depth: 0;">2024-06-14</span> </a></li> <li class="astro-g2bywc46" style="--depth: 0;"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/api/reference/deprecations/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB#2024-05-31" class="astro-g2bywc46" style="--depth: 0;"> <span class="astro-g2bywc46" style="--depth: 0;">2024-05-31</span> </a></li> <li class="astro-g2bywc46" style="--depth: 0;"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/api/reference/deprecations/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB#2024-03-31" class="astro-g2bywc46" style="--depth: 0;"> <span class="astro-g2bywc46" style="--depth: 0;">2024-03-31</span> </a></li> <li class="astro-g2bywc46" style="--depth: 0;"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/api/reference/deprecations/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB#2024-02-04" class="astro-g2bywc46" style="--depth: 0;"> <span class="astro-g2bywc46" style="--depth: 0;">2024-02-04</span> </a></li> <li class="astro-g2bywc46" style="--depth: 0;"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/api/reference/deprecations/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB#2023-07-01" class="astro-g2bywc46" style="--depth: 0;"> <span class="astro-g2bywc46" style="--depth: 0;">2023-07-01</span> </a></li> <li class="astro-g2bywc46" style="--depth: 0;"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/api/reference/deprecations/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB#2023-07-01" class="astro-g2bywc46" style="--depth: 0;"> <span class="astro-g2bywc46" style="--depth: 0;">2023-07-01</span> </a></li> <li class="astro-g2bywc46" style="--depth: 0;"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/api/reference/deprecations/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB#2023-06-06" class="astro-g2bywc46" style="--depth: 0;"> <span class="astro-g2bywc46" style="--depth: 0;">2023-06-06</span> </a></li> <li class="astro-g2bywc46" style="--depth: 0;"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/api/reference/deprecations/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB#2023-04-03" class="astro-g2bywc46" style="--depth: 0;"> <span class="astro-g2bywc46" style="--depth: 0;">2023-04-03</span> </a></li> <li class="astro-g2bywc46" style="--depth: 0;"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/api/reference/deprecations/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB#2023-03-19" class="astro-g2bywc46" style="--depth: 0;"> <span class="astro-g2bywc46" style="--depth: 0;">2023-03-19</span> </a></li> <li class="astro-g2bywc46" style="--depth: 0;"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/api/reference/deprecations/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB#2022-10-11" class="astro-g2bywc46" style="--depth: 0;"> <span class="astro-g2bywc46" style="--depth: 0;">2022-10-11</span> </a></li> <li class="astro-g2bywc46" style="--depth: 0;"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/api/reference/deprecations/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB#2022-07-01" class="astro-g2bywc46" style="--depth: 0;"> <span class="astro-g2bywc46" style="--depth: 0;">2022-07-01</span> </a></li> <li class="astro-g2bywc46" style="--depth: 0;"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/api/reference/deprecations/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB#2021-03-01" class="astro-g2bywc46" style="--depth: 0;"> <span class="astro-g2bywc46" style="--depth: 0;">2021-03-01</span> </a></li> <li class="astro-g2bywc46" style="--depth: 0;"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/api/reference/deprecations/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB#2020-04-02" class="astro-g2bywc46" style="--depth: 0;"> <span class="astro-g2bywc46" style="--depth: 0;">2020-04-02</span> </a></li> </ul> </div> </details> </nav> </mobile-starlight-toc> <script type="module" src="/_astro/MobileTableOfContents.astro_astro_type_script_index_0_lang.CwvHEPnB.js"></script> </div> <div class="right-sidebar-panel sl-hidden lg:sl-block astro-pb3aqygn"> <div class="sl-container astro-pb3aqygn"> <starlight-toc data-min-h="2" data-max-h="3"> <nav aria-labelledby="starlight__on-this-page"> <h2 id="starlight__on-this-page">On this page</h2> <ul class="astro-g2bywc46" style="--depth: 0;"> <li class="astro-g2bywc46" style="--depth: 0;"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/api/reference/deprecations/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB#_top" class="astro-g2bywc46" style="--depth: 0;"> <span class="astro-g2bywc46" style="--depth: 0;">Overview</span> </a></li> <li class="astro-g2bywc46" style="--depth: 0;"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/api/reference/deprecations/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB#2025-07-01" class="astro-g2bywc46" style="--depth: 0;"> <span class="astro-g2bywc46" style="--depth: 0;">2025-07-01</span> </a></li> <li class="astro-g2bywc46" style="--depth: 0;"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/api/reference/deprecations/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB#2025-06-15" class="astro-g2bywc46" style="--depth: 0;"> <span class="astro-g2bywc46" style="--depth: 0;">2025-06-15</span> </a></li> <li class="astro-g2bywc46" style="--depth: 0;"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/api/reference/deprecations/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB#2025-06-15" class="astro-g2bywc46" style="--depth: 0;"> <span class="astro-g2bywc46" style="--depth: 0;">2025-06-15</span> </a></li> <li class="astro-g2bywc46" style="--depth: 0;"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/api/reference/deprecations/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB#2025-06-15" class="astro-g2bywc46" style="--depth: 0;"> <span class="astro-g2bywc46" style="--depth: 0;">2025-06-15</span> </a></li> <li class="astro-g2bywc46" style="--depth: 0;"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/api/reference/deprecations/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB#2025-03-23" class="astro-g2bywc46" style="--depth: 0;"> <span class="astro-g2bywc46" style="--depth: 0;">2025-03-23</span> </a></li> <li class="astro-g2bywc46" style="--depth: 0;"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/api/reference/deprecations/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB#2025-03-21" class="astro-g2bywc46" style="--depth: 0;"> <span class="astro-g2bywc46" style="--depth: 0;">2025-03-21</span> </a></li> <li class="astro-g2bywc46" style="--depth: 0;"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/api/reference/deprecations/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB#2025-03-14" class="astro-g2bywc46" style="--depth: 0;"> <span class="astro-g2bywc46" style="--depth: 0;">2025-03-14</span> </a></li> <li class="astro-g2bywc46" style="--depth: 0;"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/api/reference/deprecations/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB#2025-02-21" class="astro-g2bywc46" style="--depth: 0;"> <span class="astro-g2bywc46" style="--depth: 0;">2025-02-21</span> </a></li> <li class="astro-g2bywc46" style="--depth: 0;"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/api/reference/deprecations/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB#2024-12-09" class="astro-g2bywc46" style="--depth: 0;"> <span class="astro-g2bywc46" style="--depth: 0;">2024-12-09</span> </a></li> <li class="astro-g2bywc46" style="--depth: 0;"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/api/reference/deprecations/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB#2024-11-30" class="astro-g2bywc46" style="--depth: 0;"> <span class="astro-g2bywc46" style="--depth: 0;">2024-11-30</span> </a></li> <li class="astro-g2bywc46" style="--depth: 0;"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/api/reference/deprecations/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB#2024-10-01" class="astro-g2bywc46" style="--depth: 0;"> <span class="astro-g2bywc46" style="--depth: 0;">2024-10-01</span> </a></li> <li class="astro-g2bywc46" style="--depth: 0;"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/api/reference/deprecations/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB#2024-09-13" class="astro-g2bywc46" style="--depth: 0;"> <span class="astro-g2bywc46" style="--depth: 0;">2024-09-13</span> </a></li> <li class="astro-g2bywc46" style="--depth: 0;"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/api/reference/deprecations/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB#2024-08-15" class="astro-g2bywc46" style="--depth: 0;"> <span class="astro-g2bywc46" style="--depth: 0;">2024-08-15</span> </a></li> <li class="astro-g2bywc46" style="--depth: 0;"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/api/reference/deprecations/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB#2024-08-05" class="astro-g2bywc46" style="--depth: 0;"> <span class="astro-g2bywc46" style="--depth: 0;">2024-08-05</span> </a></li> <li class="astro-g2bywc46" style="--depth: 0;"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/api/reference/deprecations/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB#2024-07-14" class="astro-g2bywc46" style="--depth: 0;"> <span class="astro-g2bywc46" style="--depth: 0;">2024-07-14</span> </a></li> <li class="astro-g2bywc46" style="--depth: 0;"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/api/reference/deprecations/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB#2024-06-30" class="astro-g2bywc46" style="--depth: 0;"> <span class="astro-g2bywc46" style="--depth: 0;">2024-06-30</span> </a></li> <li class="astro-g2bywc46" style="--depth: 0;"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/api/reference/deprecations/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB#2024-06-14" class="astro-g2bywc46" style="--depth: 0;"> <span class="astro-g2bywc46" style="--depth: 0;">2024-06-14</span> </a></li> <li class="astro-g2bywc46" style="--depth: 0;"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/api/reference/deprecations/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB#2024-05-31" class="astro-g2bywc46" style="--depth: 0;"> <span class="astro-g2bywc46" style="--depth: 0;">2024-05-31</span> </a></li> <li class="astro-g2bywc46" style="--depth: 0;"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/api/reference/deprecations/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB#2024-03-31" class="astro-g2bywc46" style="--depth: 0;"> <span class="astro-g2bywc46" style="--depth: 0;">2024-03-31</span> </a></li> <li class="astro-g2bywc46" style="--depth: 0;"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/api/reference/deprecations/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB#2024-02-04" class="astro-g2bywc46" style="--depth: 0;"> <span class="astro-g2bywc46" style="--depth: 0;">2024-02-04</span> </a></li> <li class="astro-g2bywc46" style="--depth: 0;"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/api/reference/deprecations/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB#2023-07-01" class="astro-g2bywc46" style="--depth: 0;"> <span class="astro-g2bywc46" style="--depth: 0;">2023-07-01</span> </a></li> <li class="astro-g2bywc46" style="--depth: 0;"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/api/reference/deprecations/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB#2023-07-01" class="astro-g2bywc46" style="--depth: 0;"> <span class="astro-g2bywc46" style="--depth: 0;">2023-07-01</span> </a></li> <li class="astro-g2bywc46" style="--depth: 0;"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/api/reference/deprecations/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB#2023-06-06" class="astro-g2bywc46" style="--depth: 0;"> <span class="astro-g2bywc46" style="--depth: 0;">2023-06-06</span> </a></li> <li class="astro-g2bywc46" style="--depth: 0;"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/api/reference/deprecations/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB#2023-04-03" class="astro-g2bywc46" style="--depth: 0;"> <span class="astro-g2bywc46" style="--depth: 0;">2023-04-03</span> </a></li> <li class="astro-g2bywc46" style="--depth: 0;"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/api/reference/deprecations/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB#2023-03-19" class="astro-g2bywc46" style="--depth: 0;"> <span class="astro-g2bywc46" style="--depth: 0;">2023-03-19</span> </a></li> <li class="astro-g2bywc46" style="--depth: 0;"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/api/reference/deprecations/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB#2022-10-11" class="astro-g2bywc46" style="--depth: 0;"> <span class="astro-g2bywc46" style="--depth: 0;">2022-10-11</span> </a></li> <li class="astro-g2bywc46" style="--depth: 0;"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/api/reference/deprecations/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB#2022-07-01" class="astro-g2bywc46" style="--depth: 0;"> <span class="astro-g2bywc46" style="--depth: 0;">2022-07-01</span> </a></li> <li class="astro-g2bywc46" style="--depth: 0;"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/api/reference/deprecations/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB#2021-03-01" class="astro-g2bywc46" style="--depth: 0;"> <span class="astro-g2bywc46" style="--depth: 0;">2021-03-01</span> </a></li> <li class="astro-g2bywc46" style="--depth: 0;"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/api/reference/deprecations/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB#2020-04-02" class="astro-g2bywc46" style="--depth: 0;"> <span class="astro-g2bywc46" style="--depth: 0;">2020-04-02</span> </a></li> </ul> </nav> </starlight-toc> <script type="module" src="/_astro/TableOfContents.astro_astro_type_script_index_0_lang.CxWEh7Yp.js"></script><br><astro-island uid="ZcQfTO" prefix="r1" component-url="/_astro/FeedbackPrompt.sIVdSYEF.js" component-export="default" renderer-url="/_astro/client.BUsrUfVi.js" props="{}" ssr client="idle" opts="{&quot;name&quot;:&quot;FeedbackPrompt&quot;,&quot;value&quot;:true}" await-children> <div> <h2>Was this helpful?</h2><button class="cursor-pointer bg-transparent"> <svg stroke="currentColor" fill="currentColor" stroke-width="0" viewbox="0 0 24 24" class="text-2xl text-sl hover:text-accent" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"> <path fill="none" d="M0 0h24v24H0V0zm0 0h24v24H0V0z" /><path d="M9 21h9c.83 0 1.54-.5 1.84-1.22l3.02-7.05c.09-.23.14-.47.14-.73v-2c0-1.1-.9-2-2-2h-6.31l.95-4.57.03-.32c0-.41-.17-.79-.44-1.06L14.17 1 7.58 7.59C7.22 7.95 7 8.45 7 9v10c0 1.1.9 2 2 2zM9 9l4.34-4.34L12 10h9v2l-3 7H9V9zM1 9h4v12H1z" /> </svg></button><button class="cursor-pointer bg-transparent"> <svg stroke="currentColor" fill="currentColor" stroke-width="0" viewbox="0 0 24 24" class="text-2xl text-sl hover:text-accent" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"> <path fill="none" d="M0 0h24v24H0V0zm0 0h24v24H0V0z" /><path d="M15 3H6c-.83 0-1.54.5-1.84 1.22l-3.02 7.05c-.09.23-.14.47-.14.73v2c0 1.1.9 2 2 2h6.31l-.95 4.57-.03.32c0 .41.17.79.44 1.06L9.83 23l6.59-6.59c.36-.36.58-.86.58-1.41V5c0-1.1-.9-2-2-2zm0 12-4.34 4.34L12 14H3v-2l3-7h9v10zm4-12h4v12h-4z" /> </svg></button> </div><!--astro:end--> </astro-island> </div> </div> </div> </aside> <div class="main-pane astro-67yu43on"> <main data-pagefind-body class="astro-bguv2lll" lang="en" dir="ltr"> <div class="content-panel astro-7nkwcw3z"> <div class="sl-container astro-7nkwcw3z"><astro-breadcrumbs data-main-bem-class="c-breadcrumbs" data-id="breadcrumbs" data-path-length="4" data-truncated="true"> <nav aria-label="breadcrumbs" class="c-breadcrumbs" id="breadcrumbs"> <ol class="c-breadcrumbs__crumbs has-separators"> <li class="c-breadcrumbs__crumb"><a href="https://developers-cloudflare-com.translate.goog/products/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" class="c-breadcrumbs__link is-index" aria-current="false"> Products </a> <span class="c-breadcrumbs__separator" aria-hidden="true"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="astro-couag5ji"> <polyline points="9 18 15 12 9 6" class="astro-couag5ji"></polyline> </svg></span></li> <li class="c-breadcrumbs__crumb has-ellipsis"><button type="button" aria-label="Show hidden navigation" class="c-breadcrumbs__truncated-button"> … </button> <span class="c-breadcrumbs__separator" aria-hidden="true"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="astro-couag5ji"> <polyline points="9 18 15 12 9 6" class="astro-couag5ji"></polyline> </svg></span></li> <li class="c-breadcrumbs__crumb"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" class="c-breadcrumbs__link" aria-current="false"> Cloudflare Fundamentals </a> <span class="c-breadcrumbs__separator" aria-hidden="true"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="astro-couag5ji"> <polyline points="9 18 15 12 9 6" class="astro-couag5ji"></polyline> </svg></span></li> <li class="c-breadcrumbs__crumb"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/api/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" class="c-breadcrumbs__link" aria-current="false"> Cloudflare's API </a> <span class="c-breadcrumbs__separator" aria-hidden="true"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="astro-couag5ji"> <polyline points="9 18 15 12 9 6" class="astro-couag5ji"></polyline> </svg></span></li> <li class="c-breadcrumbs__crumb"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/api/reference/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" class="c-breadcrumbs__link" aria-current="false"> Reference </a> <span class="c-breadcrumbs__separator" aria-hidden="true"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="astro-couag5ji"> <polyline points="9 18 15 12 9 6" class="astro-couag5ji"></polyline> </svg></span></li> <li class="c-breadcrumbs__crumb"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/api/reference/deprecations/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" class="c-breadcrumbs__link is-current" aria-current="location"> API deprecations </a></li> </ol> </nav> </astro-breadcrumbs> <script type="application/ld+json">{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"item":{"@id":"/products/","name":"Products"}},{"@type":"ListItem","position":2,"item":{"@id":"/fundamentals/","name":"Cloudflare Fundamentals"}},{"@type":"ListItem","position":3,"item":{"@id":"/fundamentals/api/","name":"Cloudflare's API"}},{"@type":"ListItem","position":4,"item":{"@id":"/fundamentals/api/reference/","name":"Reference"}},{"@type":"ListItem","position":5,"item":{"@id":"/fundamentals/api/reference/deprecations/","name":"API deprecations"}}]}</script> <script type="module">class t extends HTMLElement{constructor(){super(),this.isManualToggle=!1,this.breadcrumbs=null,this.mainBemClass=null,this.totalWidth=0,this.resizeObserver=null,this.handleTruncatedButtonClick=()=>{this.breadcrumbs?.classList.remove("is-truncated"),this.isManualToggle=!0},this.mainBemClass=this.dataset.mainBemClass||null;const e=this.dataset.id;!("truncated"in this.dataset)||!e||(this.breadcrumbs=document.getElementById(e),this.initializeCrumbs(),this.setupResizeObserver())}initializeCrumbs(){this.breadcrumbs?.querySelectorAll(`.${this.mainBemClass}__crumb`)?.forEach(s=>{this.totalWidth+=s.offsetWidth})}setupResizeObserver(){this.resizeObserver=new ResizeObserver(e=>{e.forEach(s=>{this.checkOverflow(s.target.clientWidth)})}),this.breadcrumbs&&this.resizeObserver.observe(this.breadcrumbs)}connectedCallback(){this.showHiddenCrumbs()}disconnectedCallback(){this.resizeObserver&&this.breadcrumbs&&(this.resizeObserver.unobserve(this.breadcrumbs),this.resizeObserver.disconnect())}toggleTruncated(e){this.breadcrumbs?.classList.toggle("is-truncated",e)}showHiddenCrumbs(){const e=this.breadcrumbs?.querySelector(`.${this.mainBemClass}__truncated-button`);e?.removeEventListener("click",this.handleTruncatedButtonClick),e?.addEventListener("click",this.handleTruncatedButtonClick.bind(this))}checkOverflow(e){const s=this.totalWidth>e&&!this.isManualToggle;this.toggleTruncated(s),s||(this.isManualToggle=!1)}}customElements.get("astro-breadcrumbs")||customElements.define("astro-breadcrumbs",t);</script> <h1 id="_top" class="astro-j6tvhyss">API deprecations</h1> </div> </div> <div class="content-panel astro-7nkwcw3z"> <div class="sl-container astro-7nkwcw3z"><starlight-image-zoom> <template class="astro-vjux6bgf"><dialog class="starlight-image-zoom-dialog astro-vjux6bgf"> <button aria-label="Unzoom image" class="starlight-image-zoom-control astro-vjux6bgf"> <svg aria-hidden="true" fill="currentColor" viewbox="0 0 24 24" class="astro-vjux6bgf"><use href="https://developers-cloudflare-com.translate.goog/fundamentals/api/reference/deprecations/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB#starlight-image-zoom-icon-unzoom" class="astro-vjux6bgf"></use> </svg></button> <figure class="astro-vjux6bgf"></figure> </dialog> </template> <svg xmlns="http://www.w3.org/2000/svg" style="display:none" class="astro-vjux6bgf"><symbol id="starlight-image-zoom-icon-zoom" viewbox="0 0 24 24" class="astro-vjux6bgf"> <path d="M9.79 12.79 4 18.59V17a1 1 0 0 0-2 0v4a1 1 0 0 0 .08.38 1 1 0 0 0 .54.54A1 1 0 0 0 3 22h4a1 1 0 0 0 0-2H5.41l5.8-5.79a1 1 0 0 0-1.42-1.42ZM21.92 2.62a1 1 0 0 0-.54-.54A1 1 0 0 0 21 2h-4a1 1 0 0 0 0 2h1.59l-5.8 5.79a1 1 0 0 0 0 1.42 1 1 0 0 0 1.42 0L20 5.41V7a1 1 0 0 0 2 0V3a1 1 0 0 0-.08-.38Z" class="astro-vjux6bgf" /> </symbol> <symbol id="starlight-image-zoom-icon-unzoom" viewbox="0 0 24 24" class="astro-vjux6bgf"> <path d="M21.71 2.29a1 1 0 0 0-1.42 0l-5.79 5.8V6.5a1 1 0 0 0-2 0v4a1 1 0 0 0 .08.38 1 1 0 0 0 .54.54 1 1 0 0 0 .38.08h4a1 1 0 0 0 0-2h-1.59l5.8-5.79a1 1 0 0 0 0-1.42ZM10.88 12.58a1 1 0 0 0-.38-.08h-4a1 1 0 0 0 0 2h1.59l-5.8 5.79a1 1 0 0 0 0 1.42 1 1 0 0 0 1.42 0l5.79-5.8v1.59a1 1 0 0 0 2 0v-4a1 1 0 0 0-.08-.38 1 1 0 0 0-.54-.54Z" class="astro-vjux6bgf" /> </symbol> </svg> </starlight-image-zoom> <script type="module" src="/_astro/ImageZoom.astro_astro_type_script_index_0_lang.BjAW4avr.js"></script> <div class="sl-markdown-content astro-cedpceuv"> <p>Cloudflare occasionally makes updates to our APIs that result in behavior changes or deprecations. When this happens, we will communicate when the API will no longer be available and whether there will be a replacement.</p> <aside aria-label="Note" class="starlight-aside starlight-aside--note"> <p class="starlight-aside__title" aria-hidden="true"> <svg viewbox="0 0 24 24" width="16" height="16" fill="currentColor" class="starlight-aside__icon"> <path d="M12 11C11.7348 11 11.4804 11.1054 11.2929 11.2929C11.1054 11.4804 11 11.7348 11 12V16C11 16.2652 11.1054 16.5196 11.2929 16.7071C11.4804 16.8946 11.7348 17 12 17C12.2652 17 12.5196 16.8946 12.7071 16.7071C12.8946 16.5196 13 16.2652 13 16V12C13 11.7348 12.8946 11.4804 12.7071 11.2929C12.5196 11.1054 12.2652 11 12 11ZM12.38 7.08C12.1365 6.97998 11.8635 6.97998 11.62 7.08C11.4973 7.12759 11.3851 7.19896 11.29 7.29C11.2017 7.3872 11.1306 7.49882 11.08 7.62C11.024 7.73868 10.9966 7.86882 11 8C10.9992 8.13161 11.0245 8.26207 11.0742 8.38391C11.124 8.50574 11.1973 8.61656 11.29 8.71C11.3872 8.79833 11.4988 8.86936 11.62 8.92C11.7715 8.98224 11.936 9.00632 12.099 8.99011C12.2619 8.97391 12.4184 8.91792 12.5547 8.82707C12.691 8.73622 12.8029 8.61328 12.8805 8.46907C12.9582 8.32486 12.9992 8.16378 13 8C12.9963 7.73523 12.8927 7.48163 12.71 7.29C12.6149 7.19896 12.5028 7.12759 12.38 7.08ZM12 2C10.0222 2 8.08879 2.58649 6.4443 3.6853C4.79981 4.78412 3.51809 6.3459 2.76121 8.17317C2.00433 10.0004 1.8063 12.0111 2.19215 13.9509C2.578 15.8907 3.53041 17.6725 4.92894 19.0711C6.32746 20.4696 8.10929 21.422 10.0491 21.8079C11.9889 22.1937 13.9996 21.9957 15.8268 21.2388C17.6541 20.4819 19.2159 19.2002 20.3147 17.5557C21.4135 15.9112 22 13.9778 22 12C22 10.6868 21.7413 9.38642 21.2388 8.17317C20.7363 6.95991 19.9997 5.85752 19.0711 4.92893C18.1425 4.00035 17.0401 3.26375 15.8268 2.7612C14.6136 2.25866 13.3132 2 12 2ZM12 20C10.4178 20 8.87104 19.5308 7.55544 18.6518C6.23985 17.7727 5.21447 16.5233 4.60897 15.0615C4.00347 13.5997 3.84504 11.9911 4.15372 10.4393C4.4624 8.88743 5.22433 7.46197 6.34315 6.34315C7.46197 5.22433 8.88743 4.4624 10.4393 4.15372C11.9911 3.84504 13.5997 4.00346 15.0615 4.60896C16.5233 5.21447 17.7727 6.23984 18.6518 7.55544C19.5308 8.87103 20 10.4177 20 12C20 14.1217 19.1572 16.1566 17.6569 17.6569C16.1566 19.1571 14.1217 20 12 20Z" /> </svg>Note</p> <div class="starlight-aside__content"> <p>Subscribe to all API deprecation posts via <a href="https://developers-cloudflare-com.translate.goog/fundamentals/api/reference/deprecations/index.xml?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB">RSS</a>.</p> </div> </aside> <p><a href="https://developers-cloudflare-com.translate.goog/fundamentals/api/reference/deprecations/index.xml?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" target="_blank"> Subscribe to RSS </a></p> <div data-date="2025-07-01"> <div tabindex="-1" class="heading-wrapper level-h2"> <h2 id="2025-07-01">2025-07-01</h2><a class="anchor-link" href="https://developers-cloudflare-com.translate.goog/fundamentals/api/reference/deprecations/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB#2025-07-01"><span aria-hidden="true" class="anchor-icon"> <svg width="16" height="16" viewbox="0 0 24 24"> <path fill="currentcolor" d="m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z" /> </svg></span></a> </div> <div data-product="api deprecations"> <strong>Cloudflare DWeb Resolver</strong> <p>Deprecation date: July 1, 2025</p> <p>The Cloudflare DWeb Resolver experiment is ending.</p> <p>Deprecated APIs:</p> <ul> <li>DoH resolver on resolver.cloudflare-eth.com</li> </ul> </div> </div> <div data-date="2025-06-15"> <div tabindex="-1" class="heading-wrapper level-h2"> <h2 id="2025-06-15">2025-06-15</h2><a class="anchor-link" href="https://developers-cloudflare-com.translate.goog/fundamentals/api/reference/deprecations/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB#2025-06-15"><span aria-hidden="true" class="anchor-icon"> <svg width="16" height="16" viewbox="0 0 24 24"> <path fill="currentcolor" d="m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z" /> </svg></span></a> </div> <div data-product="api deprecations"> <strong>Firewall Rules API and Filters API</strong> <p>Deprecation date: June 15, 2025</p> <p>The Firewall Rules API and the Filters API are deprecated, since Firewall Rules was deprecated in favor of <a href="https://developers-cloudflare-com.translate.goog/waf/custom-rules/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB">WAF custom rules</a>. Refer to <a href="https://developers-cloudflare-com.translate.goog/waf/reference/migration-guides/firewall-rules-to-custom-rules/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB">Firewall Rules to WAF custom rules migration</a> for more information about this change.</p> <p>Deprecated APIs:</p> <ul> <li><code>GET /zones/:zone_id/firewall/rules</code></li> <li><code>POST /zones/:zone_id/firewall/rules</code></li> <li><code>PATCH /zones/:zone_id/firewall/rules</code></li> <li><code>PUT /zones/:zone_id/firewall/rules</code></li> <li><code>DELETE /zones/:zone_id/firewall/rules</code></li> <li><code>GET /zones/:zone_id/firewall/rules/:rule_id</code></li> <li><code>PATCH /zones/:zone_id/firewall/rules/:rule_id</code></li> <li><code>PUT /zones/:zone_id/firewall/rules/:rule_id</code></li> <li><code>DELETE /zones/:zone_id/firewall/rules/:rule_id</code></li> <li><code>GET /zones/:zone_id/filters</code></li> <li><code>POST /zones/:zone_id/filters</code></li> <li><code>PUT /zones/:zone_id/filters</code></li> <li><code>DELETE /zones/:zone_id/filters</code></li> <li><code>GET /zones/:zone_id/filters/:filter_id</code></li> <li><code>PUT /zones/:zone_id/filters/:filter_id</code></li> <li><code>DELETE /zones/:zone_id/filters/:filter_id</code></li> </ul> <p>Replacement: <a href="https://developers-cloudflare-com.translate.goog/waf/custom-rules/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB">WAF custom rules</a></p> </div> <div tabindex="-1" class="heading-wrapper level-h2"> <h2 id="2025-06-15">2025-06-15</h2><a class="anchor-link" href="https://developers-cloudflare-com.translate.goog/fundamentals/api/reference/deprecations/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB#2025-06-15"><span aria-hidden="true" class="anchor-icon"> <svg width="16" height="16" viewbox="0 0 24 24"> <path fill="currentcolor" d="m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z" /> </svg></span></a> </div> <div data-product="api deprecations"> <strong>WAF managed rules APIs (previous version)</strong> <p>Deprecation date: June 15, 2025</p> <p>The APIs for managing WAF managed rules (previous version) — namely for managing packages, rule groups, rules, and overrides — are deprecated in favor of <a href="https://developers-cloudflare-com.translate.goog/waf/managed-rules/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB">WAF Managed Rules</a>. Refer to <a href="https://developers-cloudflare-com.translate.goog/waf/reference/migration-guides/waf-managed-rules-migration/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB">WAF Managed Rules migration</a> for more information about this change.</p> <p>Deprecated APIs:</p> <ul> <li><code>GET /zones/:zone_id/firewall/waf/packages</code></li> <li><code>GET /zones/:zone_id/firewall/waf/packages/:package_id</code></li> <li><code>PATCH /zones/:zone_id/firewall/waf/packages/:package_id</code></li> <li><code>GET /zones/:zone_id/firewall/waf/packages/:package_id/groups</code></li> <li><code>GET /zones/:zone_id/firewall/waf/packages/:package_id/groups/:group_id</code></li> <li><code>PATCH /zones/:zone_id/firewall/waf/packages/:package_id/groups/:group_id</code></li> <li><code>GET /zones/:zone_id/firewall/waf/packages/:package_id/rules</code></li> <li><code>GET /zones/:zone_id/firewall/waf/packages/:package_id/rules/:rule_id</code></li> <li><code>PATCH /zones/:zone_id/firewall/waf/packages/:package_id/rules/:rule_id</code></li> <li><code>GET /zones/:zone_id/firewall/waf/overrides</code></li> <li><code>POST /zones/:zone_id/firewall/waf/overrides</code></li> <li><code>GET /zones/:zone_id/firewall/waf/overrides/:override_id</code></li> <li><code>PUT /zones/:zone_id/firewall/waf/overrides/:override_id</code></li> <li><code>DELETE /zones/:zone_id/firewall/waf/overrides/:override_id</code></li> </ul> <p>Replacement: <a href="https://developers-cloudflare-com.translate.goog/waf/managed-rules/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB">WAF Managed Rules</a> (new version)</p> </div> <div tabindex="-1" class="heading-wrapper level-h2"> <h2 id="2025-06-15">2025-06-15</h2><a class="anchor-link" href="https://developers-cloudflare-com.translate.goog/fundamentals/api/reference/deprecations/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB#2025-06-15"><span aria-hidden="true" class="anchor-icon"> <svg width="16" height="16" viewbox="0 0 24 24"> <path fill="currentcolor" d="m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z" /> </svg></span></a> </div> <div data-product="api deprecations"> <strong>Rate Limiting API (previous version)</strong> <p>Deprecation date: June 15, 2025</p> <p>The Rate Limiting API is deprecated, since the previous version of rate limiting rules was deprecated in favor of the new <a href="https://developers-cloudflare-com.translate.goog/waf/rate-limiting-rules/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB">rate limiting rules</a> based on the Ruleset Engine. Refer to <a href="https://developers-cloudflare-com.translate.goog/waf/reference/migration-guides/old-rate-limiting-deprecation/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB">Rate limiting (previous version) deprecation notice</a> for more information about this change.</p> <p>Deprecated API:</p> <ul> <li><code>GET /zones/:zone_id/rate_limits</code></li> <li><code>POST /zones/:zone_id/rate_limits</code></li> <li><code>GET /zones/:zone_id/rate_limits/:rate_limit_id</code></li> <li><code>PUT /zones/:zone_id/rate_limits/:rate_limit_id</code></li> <li><code>DELETE /zones/:zone_id/rate_limits/:rate_limit_id</code></li> </ul> <p>Replacement: <a href="https://developers-cloudflare-com.translate.goog/waf/rate-limiting-rules/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB">Rate limiting rules</a> (new version)</p> </div> </div> <div data-date="2025-03-23"> <div tabindex="-1" class="heading-wrapper level-h2"> <h2 id="2025-03-23">2025-03-23</h2><a class="anchor-link" href="https://developers-cloudflare-com.translate.goog/fundamentals/api/reference/deprecations/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB#2025-03-23"><span aria-hidden="true" class="anchor-icon"> <svg width="16" height="16" viewbox="0 0 24 24"> <path fill="currentcolor" d="m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z" /> </svg></span></a> </div> <div data-product="api deprecations"> <strong>Eligible Zones For Account Custom Nameservers</strong> <p>Deprecation date: March 23, 2025</p> <p>Users can now add custom nameservers that are not part of a zone managed within their account. As a result, any zone is eligible for custom nameservers, regardless of whether it is managed by Cloudflare. Given this change, an endpoint to check for eligible zones is no longer relevant and is therefore being deprecated.</p> <p>Deprecated APIs:</p> <ul> <li><code>GET /accounts/:account_id/custom_ns/availability</code></li> </ul> </div> </div> <div data-date="2025-03-21"> <div tabindex="-1" class="heading-wrapper level-h2"> <h2 id="2025-03-21">2025-03-21</h2><a class="anchor-link" href="https://developers-cloudflare-com.translate.goog/fundamentals/api/reference/deprecations/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB#2025-03-21"><span aria-hidden="true" class="anchor-icon"> <svg width="16" height="16" viewbox="0 0 24 24"> <path fill="currentcolor" d="m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z" /> </svg></span></a> </div> <div data-product="api deprecations"> <strong>Zone Setting: cname_flattening</strong> <p>Deprecation date: March 21, 2025</p> <p>The Zone Settings API endpoints for managing zone-level CNAME flattening are deprecated. Instead, use the <a href="https://developers-cloudflare-com.translate.goog/api/resources/dns/subresources/settings/methods/get/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB">Show DNS Settings</a> and <a href="https://developers-cloudflare-com.translate.goog/api/resources/dns/subresources/settings/methods/edit/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB">Update DNS Settings</a> endpoints to manage this setting.</p> <p>Changes via the old endpoints will be reflected in the new ones, and vice versa, so there is no need to migrate existing zones. However, future API calls must use DNS Settings instead of the Zone Settings endpoints.</p> <p>Note that, with the deprecated zone setting, values <code>"off"</code> and <code>"apex"</code> have the same behavior. These are represented as <code>{"flatten_all_cnames": false}</code> in the new API. The zone setting <code>"on"</code> corresponds to <code>{"flatten_all_cnames": true}</code> in the new API.</p> <p>Affected APIs:</p> <ul> <li><code>GET /zones/:zone_id/settings</code></li> <li><code>PATCH /zones/:zone_id/settings</code></li> </ul> <p>Deprecated APIs:</p> <ul> <li><code>GET /zones/:zone_id/settings/cname_flattening</code></li> <li><code>PATCH /zones/:zone_id/settings/cname_flattening</code></li> </ul> </div> </div> <div data-date="2025-03-14"> <div tabindex="-1" class="heading-wrapper level-h2"> <h2 id="2025-03-14">2025-03-14</h2><a class="anchor-link" href="https://developers-cloudflare-com.translate.goog/fundamentals/api/reference/deprecations/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB#2025-03-14"><span aria-hidden="true" class="anchor-icon"> <svg width="16" height="16" viewbox="0 0 24 24"> <path fill="currentcolor" d="m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z" /> </svg></span></a> </div> <div data-product="api deprecations"> <strong>Account Settings: default_nameservers and use_account_custom_ns_by_default</strong> <p>Deprecation date: March 14, 2025</p> <p>The fields <code>"default_nameservers"</code> and <code>"use_account_custom_ns_by_default"</code> within the <code>"settings"</code> object of accounts are deprecated. Instead, use the <a href="https://developers-cloudflare-com.translate.goog/api/resources/dns/subresources/settings/methods/get/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB">Show DNS Settings</a> and <a href="https://developers-cloudflare-com.translate.goog/api/resources/dns/subresources/settings/methods/edit/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB">Update DNS Settings</a> endpoints to manage this setting. This setting is available in the new API as <code>.zone_defaults.nameservers.type</code>, with allowed values <code>"cloudflare.standard"</code>, <code>"cloudflare.standard.random"</code>, <code>"custom.account"</code> and <code>"custom.tenant"</code>.</p> <p>Changes via the old endpoints will be reflected in the new ones, and vice versa, so there is no need to migrate existing zones. However, future API calls must use DNS Settings instead of the Accounts endpoints.</p> <p>Affected APIs:</p> <ul> <li><code>GET /accounts</code></li> <li><code>POST /accounts</code></li> <li><code>GET /accounts/:account_id</code></li> <li><code>PUT /accounts/:account_id</code></li> </ul> </div> </div> <div data-date="2025-02-21"> <div tabindex="-1" class="heading-wrapper level-h2"> <h2 id="2025-02-21">2025-02-21</h2><a class="anchor-link" href="https://developers-cloudflare-com.translate.goog/fundamentals/api/reference/deprecations/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB#2025-02-21"><span aria-hidden="true" class="anchor-icon"> <svg width="16" height="16" viewbox="0 0 24 24"> <path fill="currentcolor" d="m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z" /> </svg></span></a> </div> <div data-product="api deprecations"> <strong>DNS Records API: Changes to Filter Parameters</strong> <p>Deprecation date: February 21, 2025</p> <p>The following URL parameters for filtering DNS records are deprecated:</p> <ul> <li><code>name=contains:value</code><br> Instead, use the supported <code>name.contains=value</code> syntax.</li> <li><code>name=starts_with:value</code><br> Instead, use the supported <code>name.startswith=value</code> syntax.</li> <li><code>name=ends_with:value</code><br> Instead, use the supported <code>name.endswith=value</code> syntax.</li> <li><code>name=one,two,three</code> (searching for one of multiple possible names, separated by commas)<br> Instead, make multiple requests, one for each possible <code>name</code>. Alternatively, if only querying the <code>name</code> field, the <code>?match=any&amp;name=one&amp;name=two&amp;name=three</code> syntax can be used instead. This syntax has an extended deprecation date of May 23, 2025.</li> <li><code>content=contains:value</code><br> Instead, use the supported <code>content.contains=value</code> syntax.</li> <li><code>content=starts_with:value</code><br> Instead, use the supported <code>content.startswith=value</code> syntax.</li> <li><code>content=ends_with:value</code><br> Instead, use the supported <code>content.endswith=value</code> syntax.</li> <li><code>content=one,two,three</code> (searching for one of multiple possible contents, separated by commas)<br> Instead, make multiple requests, one for each possible <code>content</code>. Alternatively, if only querying the <code>content</code> field, the <code>?match=any&amp;content=one&amp;content=two&amp;content=three</code> syntax can be used instead. This syntax has an extended deprecation date of May 23, 2025.</li> <li><code>type=contains:value</code><br> Searching for substrings of a type name will no longer be supported. Instead, please search for an exact type name, such as <code>type=CNAME</code>. If the input value is a free-text search from a human user, consider using the <code>search</code> parameter instead.</li> </ul> <p>None of the parameters being deprecated were ever officially supported per our API documentation.</p> <p>Affected APIs:</p> <ul> <li><code>GET /zones/:zone_id/dns_records</code></li> </ul> </div> </div> <div data-date="2024-12-09"> <div tabindex="-1" class="heading-wrapper level-h2"> <h2 id="2024-12-09">2024-12-09</h2><a class="anchor-link" href="https://developers-cloudflare-com.translate.goog/fundamentals/api/reference/deprecations/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB#2024-12-09"><span aria-hidden="true" class="anchor-icon"> <svg width="16" height="16" viewbox="0 0 24 24"> <path fill="currentcolor" d="m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z" /> </svg></span></a> </div> <div data-product="api deprecations"> <strong>Access applications: self_hosted_domains</strong> <p>Deprecation date: November 21, 2025</p> <p>The <code>self_hosted_domains</code> field for <a href="https://developers-cloudflare-com.translate.goog/api/resources/zero_trust/subresources/access/subresources/applications/methods/update/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB">Access applications</a> is deprecated in favor of <code>destinations</code> to allow for more flexibility in defining different types of domains.</p> <p>Before:</p> <pre><code class="language-json">{ // ... "self_hosted_domains": ["foo.example.com", "bar.example.com"] } </code></pre> <p>After:</p> <pre><code class="language-json">{ // ... "destinations": [ { "type": "public", "uri": "foo.example.com" }, { "type": "public", "uri": "bar.example.com" } ] } </code></pre> <p>The API will accept both fields until the deprecation date. If <code>self_hosted_domains</code> are provided, then they will be interpreted as <code>public</code> destinations. However, if <code>destinations</code> are provided, then <code>self_hosted_domains</code> will be ignored even if provided.</p> <p>Additionally, the API will continue to return <code>self_hosted_domains</code> until the deprecation date. The field will contain the URIs of the subset of destinations that have type <code>public</code>.</p> <p>Affected APIs:</p> <ul> <li><code>GET /accounts/:account_id/access/apps</code></li> <li><code>POST /accounts/:account_id/access/apps</code></li> <li><code>GET /accounts/:account_id/access/apps/:app_id</code></li> <li><code>PUT /accounts/:account_id/access/apps/:app_id</code></li> <li><code>GET /zones/:zone_id/access/apps</code></li> <li><code>POST /zones/:zone_id/access/apps</code></li> <li><code>GET /zones/:zone_id/access/apps/:app_id</code></li> <li><code>PUT /zones/:zone_id/access/apps/:app_id</code></li> </ul> </div> </div> <div data-date="2024-11-30"> <div tabindex="-1" class="heading-wrapper level-h2"> <h2 id="2024-11-30">2024-11-30</h2><a class="anchor-link" href="https://developers-cloudflare-com.translate.goog/fundamentals/api/reference/deprecations/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB#2024-11-30"><span aria-hidden="true" class="anchor-icon"> <svg width="16" height="16" viewbox="0 0 24 24"> <path fill="currentcolor" d="m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z" /> </svg></span></a> </div> <div data-product="api deprecations"> <strong>Zone information in individual DNS records</strong> <p>Deprecation date: November 30, 2024</p> <p>Currently, each individual DNS record returned by the API contains information about the zone it is on, specifically the zone ID and name.</p> <pre><code class="language-json">{ "result": [ { // ... "zone_id": "ab922473c42f4e50819d7c1c9b81b16b", "zone_name": "example.com" } ], // ... } </code></pre> <p>This information is redundant because both affected API routes are already within the zone scope. In particular, the zone ID will already be known to any user of these routes because it appears in the URL. The zone name can be retrieved by making a <code>GET</code> request to <code>/zones/:zone_id</code> if it is necessary.</p> <p>After November 30th, 2024, Cloudflare will stop including the <code>zone_id</code> and <code>zone_name</code> fields on individual DNS records in API responses. These fields are currently ignored when sent to the API as part of a request body, so no changes to request bodies are required.</p> <p>Modified API:</p> <ul> <li><code>GET /zones/:zone_id/dns_records</code></li> <li><code>POST /zones/:zone_id/dns_records</code></li> <li><code>GET /zones/:zone_id/dns_records/:dns_record_id</code></li> <li><code>PATCH /zones/:zone_id/dns_records/:dns_record_id</code></li> <li><code>PUT /zones/:zone_id/dns_records/:dns_record_id</code></li> </ul> </div> </div> <div data-date="2024-10-01"> <div tabindex="-1" class="heading-wrapper level-h2"> <h2 id="2024-10-01">2024-10-01</h2><a class="anchor-link" href="https://developers-cloudflare-com.translate.goog/fundamentals/api/reference/deprecations/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB#2024-10-01"><span aria-hidden="true" class="anchor-icon"> <svg width="16" height="16" viewbox="0 0 24 24"> <path fill="currentcolor" d="m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z" /> </svg></span></a> </div> <div data-product="api deprecations"> <strong>DNS Records: Error chains for DNS validation errors</strong> <p>Deprecation date: October 1, 2024</p> <p>Cloudflare is making a minor change to the representation of certain errors when creating DNS records. Currently, when the DNS record to be created is invalid, an error similar to the following may be returned:</p> <pre><code class="language-txt">{ "result": null, "success": false, "errors": [ { "code": 1004, "message": "DNS Validation Error", "error_chain": [ { "code": 9999, "message": "This is an example." } ] } ], "messages": [] } </code></pre> <p>After October 1st, 2024, the <code>error_chain</code> will be omitted, returning the root cause directly without wrapping it in another "DNS Validation Error" error:</p> <pre><code class="language-txt">{ "result": null, "success": false, "errors": [ { "code": 9999, "message": "This is an example." } ], "messages": [] } </code></pre> </div> </div> <div data-date="2024-09-13"> <div tabindex="-1" class="heading-wrapper level-h2"> <h2 id="2024-09-13">2024-09-13</h2><a class="anchor-link" href="https://developers-cloudflare-com.translate.goog/fundamentals/api/reference/deprecations/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB#2024-09-13"><span aria-hidden="true" class="anchor-icon"> <svg width="16" height="16" viewbox="0 0 24 24"> <path fill="currentcolor" d="m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z" /> </svg></span></a> </div> <div data-product="api deprecations"> <strong>Legacy DNS Settings Endpoints</strong> <p>Deprecation date: September 13, 2024</p> <p>The dedicated endpoints for DNS settings <code>use_apex_ns</code> and <code>secondary_overrides</code> are being deprecated.</p> <p>Instead, use the <a href="https://developers-cloudflare-com.translate.goog/api/resources/dns/subresources/settings/methods/get/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB">Show DNS Settings</a> and <a href="https://developers-cloudflare-com.translate.goog/api/resources/dns/subresources/settings/methods/edit/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB">Update DNS Settings</a> endpoints to manage these settings.</p> <ul> <li>Instead of the <code>.../use_apex_ns</code> endpoint, use the <code>multi_provider</code> field.</li> <li>Instead of the <code>.../secondary_overrides</code> endpoint, use the <code>secondary_overrides</code> field.</li> </ul> <p>Deprecated APIs:</p> <ul> <li><code>GET /zones/:zone_id/dns_settings/use_apex_ns</code></li> <li><code>PATCH /zones/:zone_id/dns_settings/use_apex_ns</code></li> <li><code>GET /zones/:zone_id/dns_settings/secondary_overrides</code></li> <li><code>PATCH /zones/:zone_id/dns_settings/secondary_overrides</code></li> </ul> </div> </div> <div data-date="2024-08-15"> <div tabindex="-1" class="heading-wrapper level-h2"> <h2 id="2024-08-15">2024-08-15</h2><a class="anchor-link" href="https://developers-cloudflare-com.translate.goog/fundamentals/api/reference/deprecations/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB#2024-08-15"><span aria-hidden="true" class="anchor-icon"> <svg width="16" height="16" viewbox="0 0 24 24"> <path fill="currentcolor" d="m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z" /> </svg></span></a> </div> <div data-product="api deprecations"> <strong>Brotli</strong> <p>Deprecation date: August 15, 2024</p> <p>The Brotli setting and its API endpoints are deprecated. Brotli compression is available for all non-Enterprise zones, and it will be extended to Enterprise zones in the coming year.</p> <p>Deprecated APIs:</p> <ul> <li><code>GET /zones/:zone_id/settings/brotli</code></li> <li><code>PATCH /zones/:zone_id/settings/brotli</code></li> </ul> <p>Enterprise customers can override Cloudflare's default compression behavior using <a href="https://developers-cloudflare-com.translate.goog/rules/compression-rules/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB">Compression Rules</a>.</p> </div> </div> <div data-date="2024-08-05"> <div tabindex="-1" class="heading-wrapper level-h2"> <h2 id="2024-08-05">2024-08-05</h2><a class="anchor-link" href="https://developers-cloudflare-com.translate.goog/fundamentals/api/reference/deprecations/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB#2024-08-05"><span aria-hidden="true" class="anchor-icon"> <svg width="16" height="16" viewbox="0 0 24 24"> <path fill="currentcolor" d="m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z" /> </svg></span></a> </div> <div data-product="api deprecations"> <strong>Auto Minify</strong> <p>Deprecation date: August 5, 2024</p> <p>The Auto Minify API endpoints are deprecated since the Auto Minify feature was deprecated.</p> <p>Deprecated APIs:</p> <ul> <li><code>GET /zones/:zone_id/settings/minify</code></li> <li><code>PATCH /zones/:zone_id/settings/minify</code></li> </ul> </div> </div> <div data-date="2024-07-14"> <div tabindex="-1" class="heading-wrapper level-h2"> <h2 id="2024-07-14">2024-07-14</h2><a class="anchor-link" href="https://developers-cloudflare-com.translate.goog/fundamentals/api/reference/deprecations/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB#2024-07-14"><span aria-hidden="true" class="anchor-icon"> <svg width="16" height="16" viewbox="0 0 24 24"> <path fill="currentcolor" d="m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z" /> </svg></span></a> </div> <div data-product="api deprecations"> <strong>DNS Records: 'locked' Field</strong> <p>Deprecation date: July 14, 2024</p> <p>The <code>"locked"</code> field of DNS records in API responses is unused and has been guaranteed to always be <code>false</code> for more than a year. This deprecation means that the field will be omitted from API responses entirely. If received from a client, the field will continue to be ignored, just as it is today.</p> <p>Modified API:</p> <ul> <li><code>GET /zones/:zone_id/dns_records</code></li> <li><code>POST /zones/:zone_id/dns_records</code></li> <li><code>GET /zones/:zone_id/dns_records/:dns_record_id</code></li> <li><code>PATCH /zones/:zone_id/dns_records/:dns_record_id</code></li> <li><code>PUT /zones/:zone_id/dns_records/:dns_record_id</code></li> </ul> </div> </div> <div data-date="2024-06-30"> <div tabindex="-1" class="heading-wrapper level-h2"> <h2 id="2024-06-30">2024-06-30</h2><a class="anchor-link" href="https://developers-cloudflare-com.translate.goog/fundamentals/api/reference/deprecations/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB#2024-06-30"><span aria-hidden="true" class="anchor-icon"> <svg width="16" height="16" viewbox="0 0 24 24"> <path fill="currentcolor" d="m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z" /> </svg></span></a> </div> <div data-product="api deprecations"> <strong>Mobile redirect</strong> <p>Deprecation date: June 30, 2024</p> <p>This endpoint and its related APIs are deprecated in favor of <a href="https://developers-cloudflare-com.translate.goog/rules/url-forwarding/single-redirects/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB">Single Redirects</a>. Refer to <a href="https://developers-cloudflare-com.translate.goog/rules/url-forwarding/examples/perform-mobile-redirects/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB">Perform mobile redirects</a> to migrate Mobile Redirect to Redirect Rules.</p> <p>Deprecated API:</p> <ul> <li><code>GET /zones/:zone_identifier/settings/mobile_redirect</code></li> <li><code>PATCH /zones/:zone_identifier/settings/mobile_redirect</code></li> </ul> <p>Replacement: <a href="https://developers-cloudflare-com.translate.goog/rules/url-forwarding/single-redirects/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB">Single Redirects</a></p> </div> </div> <div data-date="2024-06-14"> <div tabindex="-1" class="heading-wrapper level-h2"> <h2 id="2024-06-14">2024-06-14</h2><a class="anchor-link" href="https://developers-cloudflare-com.translate.goog/fundamentals/api/reference/deprecations/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB#2024-06-14"><span aria-hidden="true" class="anchor-icon"> <svg width="16" height="16" viewbox="0 0 24 24"> <path fill="currentcolor" d="m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z" /> </svg></span></a> </div> <div data-product="api deprecations"> <strong>Server-side Excludes</strong> <p>Deprecation date: June 14, 2024</p> <p>The Server-side Excludes feature and its API endpoints are deprecated.</p> <p>Deprecated APIs:</p> <ul> <li><code>GET /zones/:zone_id/settings/server_side_exclude</code></li> <li><code>PATCH /zones/:zone_id/settings/server_side_exclude</code></li> </ul> </div> </div> <div data-date="2024-05-31"> <div tabindex="-1" class="heading-wrapper level-h2"> <h2 id="2024-05-31">2024-05-31</h2><a class="anchor-link" href="https://developers-cloudflare-com.translate.goog/fundamentals/api/reference/deprecations/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB#2024-05-31"><span aria-hidden="true" class="anchor-icon"> <svg width="16" height="16" viewbox="0 0 24 24"> <path fill="currentcolor" d="m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z" /> </svg></span></a> </div> <div data-product="api deprecations"> <strong>Name-Related Data Fields on SRV (DNS) Records</strong> <p>Deprecation date: May 31, 2024</p> <p>The name of an SRV record normally consists of three parts: the service (e.g., <code>_xmpp</code>), the protocol (e.g., <code>_tcp</code>), and the base name (<code>example.com</code>).</p> <p>The complete name would then be, e.g., <code>_xmpp._tcp.example.com</code>.</p> <p>When interacting with DNS records through the <a href="https://developers-cloudflare-com.translate.goog/api/resources/dns/subresources/records/methods/create/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB">API</a>, SRV records contain both a full <code>name</code> as well as a <code>data</code> map containing the individual components of the name:</p> <pre><code class="language-txt">{ "name": "_xmpp._tcp.example.com", "data": { "service": "_xmpp", "proto": "_tcp", "name": "example.com", ... }, ... } </code></pre> <p>We are deprecating the <code>service</code>, <code>proto</code> and <code>name</code> fields <em>within</em> the <code>data</code> map in favor of the <code>name</code> field <em>outside</em> the data map, which is the same name field that's used by all other record types.</p> <p>Before the end of life date, please ensure that:</p> <ul> <li>when reading SRV records, you use only the <code>name</code> outside of the data map and ignore <code>service</code>, <code>proto</code> and <code>name</code> within the data map if they exist; and</li> <li>when writing SRV records, you set the <code>name</code> outside of the data map and <strong>do not set</strong> <code>service</code>, <code>proto</code> or <code>name</code> within the data map.</li> </ul> <p>After the end of life date, the API will stop producing the <code>service</code>, <code>proto</code> and <code>name</code> data fields, and if any of them are received from a client, an error will be returned.</p> <p>This deprecation does not affect other SRV data fields not mentioned above (<code>priority</code>, <code>weight</code>, <code>port</code>, <code>target</code>) or data fields for any other record type other than SRV.</p> <p>Modified API:</p> <ul> <li><code>GET /zones/:zone_id/dns_records</code></li> <li><code>POST /zones/:zone_id/dns_records</code></li> <li><code>GET /zones/:zone_id/dns_records/:dns_record_id</code></li> <li><code>PATCH /zones/:zone_id/dns_records/:dns_record_id</code></li> <li><code>PUT /zones/:zone_id/dns_records/:dns_record_id</code></li> </ul> </div> </div> <div data-date="2024-03-31"> <div tabindex="-1" class="heading-wrapper level-h2"> <h2 id="2024-03-31">2024-03-31</h2><a class="anchor-link" href="https://developers-cloudflare-com.translate.goog/fundamentals/api/reference/deprecations/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB#2024-03-31"><span aria-hidden="true" class="anchor-icon"> <svg width="16" height="16" viewbox="0 0 24 24"> <path fill="currentcolor" d="m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z" /> </svg></span></a> </div> <div data-product="api deprecations"> <strong>Privacy Pass API Removal</strong> <p>Deprecation date: March 31, 2024</p> <p>In 2017, Cloudflare <a href="https://translate.google.com/website?sl=pl&amp;tl=en&amp;hl=en-GB&amp;u=https://blog.cloudflare.com/cloudflare-supports-privacy-pass/">announced support</a> for Privacy Pass, a recent protocol to let users prove their identity across multiple sites anonymously without enabling tracking. The initial use case was to provide untraceable tokens to sites to vouch for users who might otherwise have been presented with a CAPTCHA challenge. In the time since this release, Privacy Pass has evolved both at the <a href="https://translate.google.com/website?sl=pl&amp;tl=en&amp;hl=en-GB&amp;u=https://datatracker.ietf.org/wg/privacypass/documents/">IETF</a> and within Cloudflare. The version announced in 2017 is now considered legacy, and these legacy Privacy Pass tokens are no longer supported as an alternative to Cloudflare challenges. As has been discussed on our blog <a href="https://translate.google.com/website?sl=pl&amp;tl=en&amp;hl=en-GB&amp;u=https://blog.cloudflare.com/end-cloudflare-captcha/">The end road for CAPTCHA</a>, Cloudflare uses a variety of signals to infer if incoming traffic is likely automated. The (legacy) Privacy Pass zone setting is no longer meaningful to Cloudflare customers as Cloudflare now operates <a href="https://translate.google.com/website?sl=pl&amp;tl=en&amp;hl=en-GB&amp;u=https://blog.cloudflare.com/turnstile-ga/">CAPTCHA free</a>, and supports the latest <a href="https://translate.google.com/website?sl=pl&amp;tl=en&amp;hl=en-GB&amp;u=https://blog.cloudflare.com/eliminating-captchas-on-iphones-and-macs-using-new-standard/">Privacy Pass draft</a>.</p> <p>In September 2023, support for legacy Privacy Pass tokens as an alternative to Cloudflare Managed Challenge was removed. By the end of March 2024, the current public-facing API will be removed as well.</p> <p>Deprecated API:</p> <ul> <li><code>GET zones/:zone_identifier/settings/privacy_pass</code></li> <li><code>POST zones/:zone_identifier/settings/privacy_pass</code></li> </ul> </div> </div> <div data-date="2024-02-04"> <div tabindex="-1" class="heading-wrapper level-h2"> <h2 id="2024-02-04">2024-02-04</h2><a class="anchor-link" href="https://developers-cloudflare-com.translate.goog/fundamentals/api/reference/deprecations/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB#2024-02-04"><span aria-hidden="true" class="anchor-icon"> <svg width="16" height="16" viewbox="0 0 24 24"> <path fill="currentcolor" d="m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z" /> </svg></span></a> </div> <div data-product="api deprecations"> <strong>Argo Tunnel</strong> <p>Deprecation date: February 4, 2024</p> <p>This endpoint and its related APIs are deprecated in favor of the Cloudflare Tunnels equivalent APIs.</p> <p>Deprecated API:</p> <ul> <li><code>GET accounts/:account_identifier/tunnels</code></li> <li><code>POST accounts/:account_identifier/tunnels</code></li> <li><code>GET accounts/:account_identifier/tunnels/:tunnel_id</code></li> <li><code>DELETE accounts/:account_identifier/tunnels/:tunnel_id</code></li> </ul> <p>Replacement: Cloudflare Tunnel API</p> </div> </div> <div data-date="2023-07-01"> <div tabindex="-1" class="heading-wrapper level-h2"> <h2 id="2023-07-01">2023-07-01</h2><a class="anchor-link" href="https://developers-cloudflare-com.translate.goog/fundamentals/api/reference/deprecations/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB#2023-07-01"><span aria-hidden="true" class="anchor-icon"> <svg width="16" height="16" viewbox="0 0 24 24"> <path fill="currentcolor" d="m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z" /> </svg></span></a> </div> <div data-product="api deprecations"> <strong>ChaCha20 TLS Cipher Removal</strong> <p>Deprecation date: July 1, 2023</p> <p>Back in 2016, Cloudflare <a href="https://translate.google.com/website?sl=pl&amp;tl=en&amp;hl=en-GB&amp;u=https://blog.cloudflare.com/it-takes-two-to-chacha-poly/">introduced support</a> for <code>ChaCha20-Poly1305</code> cipher suites for TLS 1.2. At the time, we introduced two variants of these new suites, the "standard" suites as defined by the IETF RFC 7905, and "draft" suites that followed an earlier draft of said specification. The draft suites were added for compatibility with some older Android devices that at the time did not yet support the proper <code>ChaCha20-Poly1305</code> standard versions. This was in 2016, and in the meantime the standard <code>ChaCha20-Poly1305</code> cipher suites have gained much wider adoption, to the point were traffic using the old suites has dropped significantly. Due to the current low usage and the non-standard nature of these cipher suites, we are now deprecating their support on the Cloudflare network.</p> <p>This should not affect customer zones in any way, as clients that might currently use these cipher suites will be able to fallback to different ones. In addition, unlike the standard variants, these legacy cipher suites are not exposed directly through our API (e.g. through the TLS cipher suites preferences endpoint), and their deprecation will not affect customer configurations in any way.</p> <p>As of July 1st, 2023, the ChaCha20-Poly1305 ciphers have been deprecated and are deemed End of Life by Cloudflare. If you have clients that currently rely on these ciphers, it is strongly recommended to upgrade them to newer, more secure ciphers. Be aware that these deprecated ciphers will be completely removed in the first quarter of 2024, and requests using them will start to fail. Take proactive measures to ensure a smooth transition and maintain the security of your systems.</p> </div> <div tabindex="-1" class="heading-wrapper level-h2"> <h2 id="2023-07-01">2023-07-01</h2><a class="anchor-link" href="https://developers-cloudflare-com.translate.goog/fundamentals/api/reference/deprecations/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB#2023-07-01"><span aria-hidden="true" class="anchor-icon"> <svg width="16" height="16" viewbox="0 0 24 24"> <path fill="currentcolor" d="m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z" /> </svg></span></a> </div> <div data-product="api deprecations"> <strong>Transfer-Encoding and Content-Length headers</strong> <p>Deprecation date: July 1, 2023</p> <p>Previously, RFC 2616 allowed the use of <code>Transfer-Encoding</code> and <code>Content-Length</code> HTTP headers in the same request. RFC 7230 supersedes RFC 2616 and prohibits the use of <code>Transfer-Encoding</code> and <code>Content-Length</code> headers in the same request because they can cause HTTP request smuggling vulnerabilities.</p> <p>Starting on July 1st, 2023, Cloudflare will decline requests with both <code>Transfer-Encoding</code> and <code>Content-Length</code> HTTP headers.</p> </div> </div> <div data-date="2023-06-06"> <div tabindex="-1" class="heading-wrapper level-h2"> <h2 id="2023-06-06">2023-06-06</h2><a class="anchor-link" href="https://developers-cloudflare-com.translate.goog/fundamentals/api/reference/deprecations/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB#2023-06-06"><span aria-hidden="true" class="anchor-icon"> <svg width="16" height="16" viewbox="0 0 24 24"> <path fill="currentcolor" d="m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z" /> </svg></span></a> </div> <div data-product="api deprecations"> <strong>Account Billing Profile, User Billing Profile, and User Billing History</strong> <p>Deprecation date: June 6, 2023</p> <p>There is no API replacement for these endpoints. As an alternative, please log in to your Cloudflare account to view your:</p> <ul> <li><a href="https://translate.google.com/website?sl=pl&amp;tl=en&amp;hl=en-GB&amp;u=https://dash.cloudflare.com/?to%3D/:account/billing">Invoices &amp; Billing Email</a></li> <li><a href="https://translate.google.com/website?sl=pl&amp;tl=en&amp;hl=en-GB&amp;u=https://dash.cloudflare.com/?to%3D/:account/billing/subscriptions">Billing subscriptions</a></li> <li><a href="https://translate.google.com/website?sl=pl&amp;tl=en&amp;hl=en-GB&amp;u=https://dash.cloudflare.com/?to%3D/:account/billing/payment-info">Billing profile payment info</a></li> </ul> <p>Deprecated API:</p> <ul> <li><code>GET accounts/{account_identifier}/billing/profile</code></li> <li><code>GET user/billing/profile</code></li> <li><code>GET user/billing/history</code></li> </ul> </div> </div> <div data-date="2023-04-03"> <div tabindex="-1" class="heading-wrapper level-h2"> <h2 id="2023-04-03">2023-04-03</h2><a class="anchor-link" href="https://developers-cloudflare-com.translate.goog/fundamentals/api/reference/deprecations/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB#2023-04-03"><span aria-hidden="true" class="anchor-icon"> <svg width="16" height="16" viewbox="0 0 24 24"> <path fill="currentcolor" d="m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z" /> </svg></span></a> </div> <div data-product="api deprecations"> <strong>Load Balancing - notification_email</strong> <p>Deprecation date: April 3, 2023</p> <p>This field is deprecated and has been moved to <a href="https://developers-cloudflare-com.translate.goog/notifications/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB">Cloudflare centralized notification service</a>.</p> <p><code>notification_email</code> is the email address to send health status notifications to. This can be an individual mailbox or a mailing list. Multiple emails can be supplied as a comma delimited list.</p> </div> </div> <div data-date="2023-03-19"> <div tabindex="-1" class="heading-wrapper level-h2"> <h2 id="2023-03-19">2023-03-19</h2><a class="anchor-link" href="https://developers-cloudflare-com.translate.goog/fundamentals/api/reference/deprecations/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB#2023-03-19"><span aria-hidden="true" class="anchor-icon"> <svg width="16" height="16" viewbox="0 0 24 24"> <path fill="currentcolor" d="m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z" /> </svg></span></a> </div> <div data-product="api deprecations"> <strong>Access Bookmark applications</strong> <p>Deprecation date: March 19, 2023</p> <p>This endpoint is deprecated in favor of using a specialized Access Application App Type API.</p> <p>Deprecated API:</p> <ul> <li><code>GET accounts/:identifier/access/bookmarks</code></li> <li><code>GET accounts/:identifier/access/bookmarks/:uuid</code></li> <li><code>POST accounts/:identifier/access/bookmarks/:uuid</code></li> <li><code>PUT accounts/:identifier/access/bookmarks/:uuid</code></li> <li><code>DELETE accounts/:identifier/access/bookmarks/:uuid</code></li> </ul> <p>Replacement: Access applications app type API</p> </div> </div> <div data-date="2022-10-11"> <div tabindex="-1" class="heading-wrapper level-h2"> <h2 id="2022-10-11">2022-10-11</h2><a class="anchor-link" href="https://developers-cloudflare-com.translate.goog/fundamentals/api/reference/deprecations/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB#2022-10-11"><span aria-hidden="true" class="anchor-icon"> <svg width="16" height="16" viewbox="0 0 24 24"> <path fill="currentcolor" d="m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z" /> </svg></span></a> </div> <div data-product="api deprecations"> <strong>Page Shield</strong> <p>Deprecation date: October 11, 2022</p> <p>Replace <code>script_monitor</code> in Page Shield API routes with <code>page_shield</code>.</p> </div> </div> <div data-date="2022-07-01"> <div tabindex="-1" class="heading-wrapper level-h2"> <h2 id="2022-07-01">2022-07-01</h2><a class="anchor-link" href="https://developers-cloudflare-com.translate.goog/fundamentals/api/reference/deprecations/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB#2022-07-01"><span aria-hidden="true" class="anchor-icon"> <svg width="16" height="16" viewbox="0 0 24 24"> <path fill="currentcolor" d="m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z" /> </svg></span></a> </div> <div data-product="api deprecations"> <strong>Cloudflare Images - Create authenticated direct upload URL v1</strong> <p>Deprecation date: July 1, 2022</p> <p>This endpoint is deprecated in favor of using v2, which allows you to control metadata, define an access policy, and get the image ID.</p> <p>Deprecated API: <code>POST accounts/:account_identifier/images/v1/direct_upload</code></p> <p>Replacement: <code>POST accounts/:account_identifier/images/v2/direct_upload</code></p> </div> </div> <div data-date="2021-03-01"> <div tabindex="-1" class="heading-wrapper level-h2"> <h2 id="2021-03-01">2021-03-01</h2><a class="anchor-link" href="https://developers-cloudflare-com.translate.goog/fundamentals/api/reference/deprecations/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB#2021-03-01"><span aria-hidden="true" class="anchor-icon"> <svg width="16" height="16" viewbox="0 0 24 24"> <path fill="currentcolor" d="m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z" /> </svg></span></a> </div> <div data-product="api deprecations"> <strong>Zone Analytics API</strong> <p>Deprecation date: March 1, 2021</p> <p>This API is deprecated in favor of the <a href="https://developers-cloudflare-com.translate.goog/analytics/graphql-api/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB">GraphQL Analytics API</a>, which provides equivalent data and more features, including the ability to select only the metrics that you need. For more information, refer to the <a href="https://developers-cloudflare-com.translate.goog/analytics/graphql-api/migration-guides/zone-analytics/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB">Zone analytics to GraphQL analytics migration guide</a>.</p> <p>Deprecated API:</p> <ul> <li><code>GET zones/:zone_identifier/analytics/dashboard</code></li> <li><code>GET zones/:zone_identifier/analytics/colos</code></li> </ul> <p>Replacement: GraphQL Analytics API</p> </div> </div> <div data-date="2020-04-02"> <div tabindex="-1" class="heading-wrapper level-h2"> <h2 id="2020-04-02">2020-04-02</h2><a class="anchor-link" href="https://developers-cloudflare-com.translate.goog/fundamentals/api/reference/deprecations/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB#2020-04-02"><span aria-hidden="true" class="anchor-icon"> <svg width="16" height="16" viewbox="0 0 24 24"> <path fill="currentcolor" d="m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 0 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 1 0-1.42-1.42Zm8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 0 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 1 0 1.42 1.42l3.88-3.89a4.49 4.49 0 0 0 0-6.33ZM8.83 15.17a1 1 0 0 0 1.1.22 1 1 0 0 0 .32-.22l4.92-4.92a1 1 0 0 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42Z" /> </svg></span></a> </div> <div data-product="api deprecations"> <strong>Organizations</strong> <p>Deprecation date: April 2, 2020</p> <p>This endpoint and its related APIs are deprecated in favor of the <code>/accounts</code> equivalent API, which has a broader range of features and is backwards compatible with the <code>/organizations</code> API.</p> <p>Deprecated API:</p> <ul> <li><code>GET organizations/:identifier</code></li> <li><code>PATCH organizations/:identifier</code></li> <li><code>GET organizations/:organization_identifier/invites</code></li> <li><code>POST organizations/:organization_identifier/invites</code></li> <li><code>GET organizations/:organization_identifier/invites/:identifier</code></li> <li><code>PATCH organizations/:organization_identifier/invites/:identifier</code></li> <li><code>DELETE organizations/:organization_identifier/invites/:identifier</code></li> <li><code>GET organizations/:organization_identifier/members</code></li> <li><code>GET organizations/:organization_identifier/members/:identifier</code></li> <li><code>PATCH organizations/:organization_identifier/members/:identifier</code></li> <li><code>DELETE organizations/:organization_identifier/members/:identifier</code></li> <li><code>GET organizations/:organization_identifier/roles</code></li> <li><code>GET organizations/:organization_identifier/roles/:identifier</code></li> <li><code>GET organizations/:organization_identifier/audit_logs</code></li> <li><code>GET organizations/:organization_identifier/railguns</code></li> <li><code>POST organizations/:organization_identifier/railguns</code></li> <li><code>GET organizations/:organization_identifier/railguns/:identifier</code></li> <li><code>PATCH organizations/:organization_identifier/railguns/:identifier</code></li> <li><code>DELETE organizations/:organization_identifier/railguns/:identifier</code></li> <li><code>GET organizations/:organization_identifier/railguns/:identifier/zones</code></li> </ul> <p>Replacement: Accounts API</p> </div> </div> </div> <div class="astro-fxeopwe4"> <div class="feedback-prompt astro-fxeopwe4"> <astro-island uid="ZcQfTO" prefix="r0" component-url="/_astro/FeedbackPrompt.sIVdSYEF.js" component-export="default" renderer-url="/_astro/client.BUsrUfVi.js" props="{}" ssr client="idle" opts="{&quot;name&quot;:&quot;FeedbackPrompt&quot;,&quot;value&quot;:true}" await-children> <div> <h2>Was this helpful?</h2><button class="cursor-pointer bg-transparent"> <svg stroke="currentColor" fill="currentColor" stroke-width="0" viewbox="0 0 24 24" class="text-2xl text-sl hover:text-accent" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"> <path fill="none" d="M0 0h24v24H0V0zm0 0h24v24H0V0z" /><path d="M9 21h9c.83 0 1.54-.5 1.84-1.22l3.02-7.05c.09-.23.14-.47.14-.73v-2c0-1.1-.9-2-2-2h-6.31l.95-4.57.03-.32c0-.41-.17-.79-.44-1.06L14.17 1 7.58 7.59C7.22 7.95 7 8.45 7 9v10c0 1.1.9 2 2 2zM9 9l4.34-4.34L12 10h9v2l-3 7H9V9zM1 9h4v12H1z" /> </svg></button><button class="cursor-pointer bg-transparent"> <svg stroke="currentColor" fill="currentColor" stroke-width="0" viewbox="0 0 24 24" class="text-2xl text-sl hover:text-accent" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"> <path fill="none" d="M0 0h24v24H0V0zm0 0h24v24H0V0z" /><path d="M15 3H6c-.83 0-1.54.5-1.84 1.22l-3.02 7.05c-.09.23-.14.47-.14.73v2c0 1.1.9 2 2 2h6.31l-.95 4.57-.03.32c0 .41.17.79.44 1.06L9.83 23l6.59-6.59c.36-.36.58-.86.58-1.41V5c0-1.1-.9-2-2-2zm0 12-4.34 4.34L12 14H3v-2l3-7h9v10zm4-12h4v12h-4z" /> </svg></button> </div><!--astro:end--> </astro-island> </div> <footer class="sl-flex astro-3yyafb3n"> <div class="meta sl-flex astro-3yyafb3n"><a href="https://translate.google.com/website?sl=pl&amp;tl=en&amp;hl=en-GB&amp;u=https://github.com/cloudflare/cloudflare-docs/edit/production/src/content/docs/fundamentals/api/reference/deprecations.mdx" class="sl-flex print:hidden astro-eez2twj6"> <svg aria-hidden="true" class="astro-eez2twj6 astro-c6vsoqas" width="16" height="16" viewbox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1.2em;"> <path d="M22 7.24a1 1 0 0 0-.29-.71l-4.24-4.24a1 1 0 0 0-1.1-.22 1 1 0 0 0-.32.22l-2.83 2.83L2.29 16.05a1 1 0 0 0-.29.71V21a1 1 0 0 0 1 1h4.24a1 1 0 0 0 .76-.29l10.87-10.93L21.71 8c.1-.1.17-.2.22-.33a1 1 0 0 0 0-.24v-.14l.07-.05ZM6.83 20H4v-2.83l9.93-9.93 2.83 2.83L6.83 20ZM18.17 8.66l-2.83-2.83 1.42-1.41 2.82 2.82-1.41 1.42Z" /> </svg> Edit page</a> <p>Last updated: <time datetime="2025-02-13T19:35:19.000Z">Feb 13, 2025</time></p> </div> <div class="pagination-links print:hidden astro-u2l5gyhi" dir="ltr"><a href="https://developers-cloudflare-com.translate.goog/fundamentals/api/reference/template/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" rel="prev" class="astro-u2l5gyhi"> <svg aria-hidden="true" class="astro-u2l5gyhi astro-c6vsoqas" width="16" height="16" viewbox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1.5rem;"> <path d="M17 11H9.41l3.3-3.29a1.004 1.004 0 1 0-1.42-1.42l-5 5a1 1 0 0 0-.21.33 1 1 0 0 0 0 .76 1 1 0 0 0 .21.33l5 5a1.002 1.002 0 0 0 1.639-.325 1 1 0 0 0-.219-1.095L9.41 13H17a1 1 0 0 0 0-2Z" /> </svg><span class="astro-u2l5gyhi"> Previous <br class="astro-u2l5gyhi"><span class="link-title astro-u2l5gyhi">API token templates</span> </span> </a> <a href="https://developers-cloudflare-com.translate.goog/fundamentals/api/reference/sdks/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" rel="next" class="astro-u2l5gyhi"> <svg aria-hidden="true" class="astro-u2l5gyhi astro-c6vsoqas" width="16" height="16" viewbox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1.5rem;"> <path d="M17.92 11.62a1.001 1.001 0 0 0-.21-.33l-5-5a1.003 1.003 0 1 0-1.42 1.42l3.3 3.29H7a1 1 0 0 0 0 2h7.59l-3.3 3.29a1.002 1.002 0 0 0 .325 1.639 1 1 0 0 0 1.095-.219l5-5a1 1 0 0 0 .21-.33 1 1 0 0 0 0-.76Z" /> </svg><span class="astro-u2l5gyhi"> Next <br class="astro-u2l5gyhi"><span class="link-title astro-u2l5gyhi">SDKs</span> </span> </a> </div> </footer> <div id="footer-links" class="mt-6 flex flex-wrap items-center space-x-4 astro-fxeopwe4"> <a href="https://translate.google.com/website?sl=pl&amp;tl=en&amp;hl=en-GB&amp;u=https://dash.cloudflare.com" class="text-xs text-black decoration-accent astro-fxeopwe4"><span class="astro-fxeopwe4">Cloudflare Dashboard</span></a><a href="https://translate.google.com/website?sl=pl&amp;tl=en&amp;hl=en-GB&amp;u=https://discord.cloudflare.com" class="text-xs text-black decoration-accent astro-fxeopwe4"><span class="astro-fxeopwe4">Discord</span></a><a href="https://translate.google.com/website?sl=pl&amp;tl=en&amp;hl=en-GB&amp;u=https://community.cloudflare.com" class="text-xs text-black decoration-accent astro-fxeopwe4"><span class="astro-fxeopwe4">Community</span></a><a href="https://translate.google.com/website?sl=pl&amp;tl=en&amp;hl=en-GB&amp;u=https://www.cloudflare.com/learning/" class="text-xs text-black decoration-accent astro-fxeopwe4"><span class="astro-fxeopwe4">Learning Center</span></a><a href="https://developers-cloudflare-com.translate.goog/support/contacting-cloudflare-support/?_x_tr_sl=pl&amp;_x_tr_tl=en&amp;_x_tr_hl=en-GB" class="text-xs text-black decoration-accent astro-fxeopwe4"><span class="astro-fxeopwe4">Support Portal</span></a> <div class="text-xs text-black [&amp;>button]:underline [&amp;>button]:decoration-accent astro-fxeopwe4"> <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 --><button id="ot-sdk-btn" class="ot-sdk-show-settings astro-hwxmvrii">Cookie Settings</button> <!-- OneTrust Cookies Settings button end --> </div> </div> </div> </div> </div> </main> </div> </div> </div> </div> <script defer src="https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015" integrity="sha512-ZpsOmlRQV6y907TI0dKBHq9Md29nnaEIPlkf84rnaERnq6zvWvPUqr2ft8M1aS28oN72PdrCzSjY4U6VaAw1EQ==" data-cf-beacon="{&quot;rayId&quot;:&quot;913a22361e3cfe8f&quot;,&quot;version&quot;:&quot;2025.1.0&quot;,&quot;serverTiming&quot;:{&quot;name&quot;:{&quot;cfExtPri&quot;:true,&quot;cfL4&quot;:true,&quot;cfSpeedBrain&quot;:true,&quot;cfCacheStatus&quot;:true}},&quot;token&quot;:&quot;0589387b238e41af8aafea4d88cd2c64&quot;,&quot;b&quot;:1}" crossorigin="anonymous"></script> <script>function gtElInit() {var lib = new google.translate.TranslateService();lib.translatePage('pl', 'en', function () {});}</script> <script src="https://translate.google.com/translate_a/element.js?cb=gtElInit&amp;hl=en-GB&amp;client=wt" type="text/javascript"></script> </body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10