Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
id
string
required
Unique identifier for an AI Gateway Firewall policy.
Response
The Firewall policy.
id
string
required
Unique identifier for this policy.
uri
string
required
URI of this AI Gateway Firewall policy API resource.
name
string
required
User-defined label for this policy.
createdAt
string<date-time>
required
Timestamp when the policy was created.
updatedAt
string<date-time>
required
Timestamp when the policy was last updated.
createdBy
object
required
Show child attributes
lastUpdatedBy
object
required
Show child attributes
accessKeyConfigurationCount
integer<int32>
required
Number of access key configurations that enforce this policy. 0 when unused.
appliesToAllKeys
boolean
required
True when the policy is the account's baseline, set as firewallPolicyId on the gateway config. It applies to every key, under each configuration's own policy.
mode
enum<string>
required
enforce blocks a tool call or request the policy's rules flag. audit lets it through and reports
the verdict. The mode applies to this policy's rules only: an audit policy only reports, even when
the account's all-keys policy or a request enforces. Defaults to enforce.
Available options:
enforce,
audit
onError
enum<string>
required
What a tool call or request the decision model could not judge does. Defaults to block.
Available options:
block,
log
environment
string[]
required
Facts about the caller's setup that inform the decision model. They are not rules.
Maximum array length: 32
Maximum string length: 1000
rules
object[]
required
Every rule of the policy, of every tier, before and after the model. A policy holds up to 48.
A key enforces its account's all-keys policy and its configuration's policy together, so it
can enforce up to 96, and a request can add up to 48 of its own.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"ngrok documentation","colors":{"primary":"#0078C4","light":"#00BCFF","dark":"#0078C4"},"logo":{"light":"https://mintcdn.com/ngrok/_7R3hf69rnKiCshG/logo/compact-light.svg?fit=max\u0026auto=format\u0026n=_7R3hf69rnKiCshG\u0026q=85\u0026s=d79c7eb9cf2273745608b35a1b312b05","dark":"https://mintcdn.com/ngrok/_7R3hf69rnKiCshG/logo/compact-dark.svg?fit=max\u0026auto=format\u0026n=_7R3hf69rnKiCshG\u0026q=85\u0026s=fcc0cf30ebbc762df394756f6754d3bd","href":"https://ngrok.com/docs"},"favicon":"https://mintcdn.com/ngrok/BQQt-CHCs_8OwVmS/favicon.ico?fit=max\u0026auto=format\u0026n=BQQt-CHCs_8OwVmS\u0026q=85\u0026s=294907ab135b589ed607e4888e1a10a4","background":{"color":{"dark":"#121212"}},"navbar":{"links":[{"href":"https://ngrok.com/","label":"Homepage"},{"href":"https://dashboard.ngrok.com/","label":"Dashboard"},{"href":"https://ngrok.com/changelog","label":"Changelog"}],"primary":{"type":"button","label":"Sign up","href":"https://dashboard.ngrok.com/signup"}},"footer":{"socials":{"x":"https://x.com/ngrokhq","github":"https://github.com/ngrok","linkedin":"https://linkedin.com/company/ngrok","youtube":"https://www.youtube.com/@ngrokHQ"},"links":[{"header":"Product","items":[{"label":"Gateway","href":"https://ngrok.com/docs/gateway/overview"},{"label":"AI Gateway","href":"https://ngrok.ai"},{"label":"Traffic Policy","href":"https://ngrok.com/docs/traffic-policy"},{"label":"Secure Tunnels","href":"https://ngrok.com/docs/agent/overview"},{"label":"Traffic Observability","href":"https://ngrok.com/docs/obs"},{"label":"Kubernetes Operator","href":"https://ngrok.com/docs/k8s"}]},{"header":"Problems we solve","items":[{"label":"API gateway","href":"https://ngrok.com/docs/guides/api-gateway/get-started"},{"label":"AI gateway","href":"https://ngrok.ai/"},{"label":"Webhook gateway","href":"https://ngrok.com/docs/gateway/examples/webhook-gateway"},{"label":"Ephemeral workloads","href":"https://ngrok.com/docs/gateway/examples/ephemeral-workloads"},{"label":"Customer connectivity","href":"https://ngrok.com/use-cases/saas-customer-connectivity"},{"label":"Device gateway","href":"https://ngrok.com/docs/guides/device-gateway/overview"},{"label":"Remote access","href":"https://ngrok.com/docs/guides/ssh-rdp"},{"label":"Share localhost","href":"https://ngrok.com/use-cases/share-localhost"},{"label":"Connect MCPs to AI providers","href":"https://ngrok.com/docs/gateway/api-gateway/mcp-gateway"},{"label":"Test webhooks","href":"https://ngrok.com/docs/share-localhost/webhooks"},{"label":"Access remote K8s clusters","href":"https://ngrok.com/docs/k8s/guides/local-projection"},{"label":"Minecraft","href":"https://ngrok.com/docs/gateway/examples/minecraft"}]},{"header":"Resources","items":[{"label":"Docs","href":"https://ngrok.com/docs/start"},{"label":"Guides","href":"https://ngrok.com/docs/guides"},{"label":"Pricing","href":"https://ngrok.com/pricing"},{"label":"Download","href":"https://ngrok.com/download"},{"label":"Security","href":"https://ngrok.com/security"},{"label":"Trust","href":"https://trust.ngrok.com/"},{"label":"Case studies","href":"https://ngrok.com/customers"},{"label":"Integrations","href":"https://ngrok.com/docs/integrations"},{"label":"Support","href":"https://ngrok.com/support"},{"label":"Abuse","href":"https://ngrok.com/abuse"},{"label":"Status","href":"https://status.ngrok.com/"}]},{"header":"Company","items":[{"label":"About","href":"https://ngrok.com/about"},{"label":"Contact","href":"https://ngrok.com/contact"},{"label":"Blog","href":"https://ngrok.com/blog"},{"label":"Newsletter","href":"https://ngrok.com/newsletter"},{"label":"Press","href":"https://ngrok.com/press"},{"label":"Brand","href":"https://ngrok.com/brand"},{"label":"Careers","href":"https://ngrok.com/careers"}]}]},"seo":{"metatags":{"canonical":"https://ngrok.com/docs"},"indexing":"navigable"},"fonts":{"heading":{"family":"Roobert","weight":600,"source":"https://assets.ngrok.com/fonts/roobert/roobert-proportional-vf.woff2","format":"woff2"},"body":{"family":"Roobert","weight":400,"source":"https://assets.ngrok.com/fonts/roobert/roobert-proportional-vf.woff2","format":"woff2"}},"styling":{"codeblocks":{"theme":{"light":"css-variables","dark":"css-variables"}},"latex":true},"integrations":{"posthog":{"apiKey":"phc_mUGMN4JlTzthGcz0XNK0z6NKUqdeQMn7rPRAM3mifjQ","apiHost":"https://e.ngrok.com"}},"contextual":{"options":["copy","view",{"title":"Connect the ngrok MCP server","description":"Let your AI agent manage your ngrok account","icon":"plug","href":"https://ngrok.com/docs/mcp-server"},"claude",{"title":"Connect to Cursor","description":"Install the ngrok MCP server in Cursor","icon":"/img/icons/cursor.svg","href":{"base":"cursor://anysphere.cursor-deeplink/mcp/install","query":[{"key":"name","value":"ngrok"},{"key":"config","value":"eyJ1cmwiOiJodHRwczovL21jcC5uZ3Jvay5jb20vbWNwIiwiYXV0aCI6eyJDTElFTlRfSUQiOiJpYW1jbGlfM0tlSzhkOHNPNGQ5UkFyQVJ4N1JGemNUVnRPIn19"}]}},{"title":"Connect to VS Code","description":"Install the ngrok MCP server in VS Code","icon":"/img/icons/vscode.svg","href":"vscode:mcp/install?%7B%22name%22%3A%22ngrok%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fmcp.ngrok.com%2Fmcp%22%7D"},"assistant","chatgpt","perplexity","grok","aistudio","devin","download-spec"],"display":"header"},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"ngrok","hasAudioNarration":false,"actualSubdomain":"ngrok","customDomains":["ngrok.com"],"gitSource":{"type":"github","owner":"ngrok","repo":"ngrok-docs","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"feedback":{"thumbs":true,"edits":true,"issues":true},"entitlements":{"AI_CHAT":{"status":"DISABLED"},"CONTEXTUAL_FEEDBACK":{"status":"ENABLED"},"CODE_SNIPPET_FEEDBACK":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"DISABLED"}},"buildId":"6af7ade2f7f591b5b5b1a4d4","clientVersion":"0.0.4142","searchFilterCounts":[{"language":"default","tag":"Reference","count":4349},{"language":"default","tag":"Errors","count":1906},{"language":"default","tag":"Error codes","count":1904},{"language":"default","tag":"Gateway","count":485},{"language":"default","tag":"Named error codes","count":362},{"language":"default","tag":"ERR_NGROK_0-999","count":304},{"language":"default","tag":"Integrations","count":300},{"language":"default","tag":"ERR_NGROK_1000-1999","count":271},{"language":"default","tag":"AI Gateway","count":258},{"language":"default","tag":"ERR_NGROK_10000 and above","count":257}],"searchSettings":{"isFiltersEnabled":false}},"assistantConfig":{"enableAskAiButton":false,"enableAskAiSearchBar":true,"deflection":{"enabled":true,"email":"support@ngrok.com","showHelpButton":true}},"basePath":"/docs","hasChatPermissions":false,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-rbac-roles","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"style.css","content":"img{max-width:100%;height:auto}.tooltip{font-weight:bold;text-decoration:none!important;position:relative}.tooltip::after{content:\"\";position:absolute;bottom:0;left:0;width:100%;height:1px;border-bottom:1px dotted rgba(0, 0, 0, 0.8)}:root .tooltip,[data-theme=\"light\"] .tooltip,.light .tooltip{color:rgba(0, 0, 0, 0.8)}:root .tooltip::after,[data-theme=\"light\"] .tooltip::after,.light .tooltip::after{border-bottom-color:rgba(0, 0, 0, 0.8)}[data-theme=\"dark\"] .tooltip,.dark .tooltip{color:rgba(255, 255, 255, 0.8)}[data-theme=\"dark\"] .tooltip::after,.dark .tooltip::after{border-bottom-color:rgba(255, 255, 255, 0.8)}@media (prefers-color-scheme: light){.tooltip{color:rgba(0, 0, 0, 0.8)}.tooltip::after{border-bottom-color:rgba(0, 0, 0, 0.8)}}@media (prefers-color-scheme: dark){.tooltip{color:rgba(255, 255, 255, 0.8)}.tooltip::after{border-bottom-color:rgba(255, 255, 255, 0.8)}}:root td .tooltip{font-weight:inherit;color:inherit}:root .mcp-examples .tooltip{font-weight:inherit;color:inherit}td button[data-state]{text-align:start}td button[data-state] code{white-space:nowrap;word-break:normal;overflow-wrap:normal}td:first-child:has(>button[data-state] code){width:100%}table:has(td:first-child>button[data-state] code) td,table:has(td:first-child>button[data-state] code) th{min-width:0;white-space:nowrap}td .icon{mask-size:contain;-webkit-mask-size:contain}td .tooltip:has(>.icon){text-decoration:none}td .tooltip:has(>.icon)::after{display:none}td pre,td code{word-wrap:break-word;overflow-wrap:break-word;word-break:break-word}td pre{white-space:pre-wrap}td:has(pre),td:has(code){min-width:240px;width:auto}td pre{min-width:200px}td code{min-width:150px}@font-face{font-family:\"Roobert\";src:url(\"https://assets.ngrok.com/fonts/roobert/roobert-proportional-vf.woff2\")\n format(\"woff2 supports variations\"),\n url(\"https://assets.ngrok.com/fonts/roobert/roobert-proportional-vf.woff2\")\n format(\"woff2-variations\");font-weight:300 900;font-display:swap;font-style:normal}@font-face{font-family:\"JetBrains Mono\";src:url(\"https://assets.ngrok.com/fonts/jetbrains/jetbrainsmono-wght.woff2\")\n format(\"woff2 supports variations\"),\n url(\"https://assets.ngrok.com/fonts/jetbrains/jetbrainsmono-wght.woff2\")\n format(\"woff2-variations\");font-weight:100 800;font-display:swap;font-style:normal}@font-face{font-family:\"JetBrains Mono\";src:url(\"https://assets.ngrok.com/fonts/jetbrains/jetbrainsmono-italic-wght.woff2\")\n format(\"woff2 supports variations\"),\n url(\"https://assets.ngrok.com/fonts/jetbrains/jetbrainsmono-italic-wght.woff2\")\n format(\"woff2-variations\");font-weight:100 800;font-display:swap;font-style:italic}code,pre,pre code,.hljs,.token{font-family:\"JetBrains Mono\",\n ui-monospace,\n SFMono-Regular,\n Menlo,\n Monaco,\n Consolas,\n Liberation Mono,\n Courier New,\n monospace!important}#topbar-cta-button span.bg-primary-dark{background-color:#121212!important;transition:background-color!important}#topbar-cta-button a:hover span.bg-primary-dark{background-color:#171717!important}#topbar-cta-button span.text-white{color:#fff!important}.dark #topbar-cta-button span.bg-primary-dark,[data-theme=\"dark\"] #topbar-cta-button span.bg-primary-dark{background-color:rgba(255, 255, 255, 0.85)!important;transition:background-color!important}.dark #topbar-cta-button a:hover span.bg-primary-dark,[data-theme=\"dark\"] #topbar-cta-button a:hover span.bg-primary-dark{background-color:#fff!important}.dark #topbar-cta-button span.text-white,[data-theme=\"dark\"] #topbar-cta-button span.text-white{color:#000!important}#topbar-cta-button svg{color:#fff!important}.dark #topbar-cta-button svg,[data-theme=\"dark\"] #topbar-cta-button svg{color:#000!important}footer#footer a{overflow:visible;text-overflow:clip;white-space:nowrap}@media (min-width: 768px) and (max-width: 880px){footer#footer a{white-space:normal}}.card :is([data-component-part=\"card-title\"],[data-component-part=\"card-content\"]){text-wrap:pretty}.nav-tabs-item>div.absolute.bottom-0{height:2px!important}.docs-home-updates a{display:block;padding-block:1.25rem;border-bottom:1px solid #d4d4d4;text-decoration:none}.docs-home-updates .docs-home-date{display:block;color:#666;font-size:0.8125rem;margin-bottom:0.375rem}.docs-home-updates .docs-home-title{color:#121212;font-weight:600}.docs-home-updates a:focus-visible{outline:2px solid rgb(var(--primary));outline-offset:4px}.docs-home-updates a:hover .docs-home-title{text-decoration:underline}.docs-home-updates p{margin:0.375rem 0 0;color:#525252;font-size:0.875rem;line-height:1.5}.dark .docs-home-updates .docs-home-title{color:#f5f5f5}.dark .docs-home-updates a{border-color:#404040}.dark .docs-home-updates a:focus-visible{outline-color:rgb(var(--primary-light))}.dark .docs-home-updates .docs-home-date,.dark .docs-home-updates p{color:#a3a3a3}.nav-anchor div:has(>img[src$=\"/img/icons/gateway.svg\"]){background:rgb(16 185 129 / 0.2)!important}.nav-anchor div:has(>img[src$=\"/img/icons/ai-gateway.svg\"]){background:rgb(245 158 11 / 0.2)!important}.nav-anchor div:has(>img[src$=\"/img/icons/share-localhost.svg\"]){background:rgb(168 85 247 / 0.2)!important}.nav-anchor img[src*=\"/img/icons/\"]{opacity:1;background:transparent!important}html:has(.nav-tabs-item[data-active=\"true\"]:is([href^=\"/gateway/\"],[href^=\"/docs/gateway/\"])),.product-gateway{--primary: 4 120 87;--primary-light: 52 211 153;--primary-dark: 4 120 87}html:has(.nav-tabs-item[data-active=\"true\"]:is([href^=\"/ai-gateway/\"],[href^=\"/docs/ai-gateway/\"])),.product-ai-gateway{--primary: 180 83 9;--primary-light: 251 191 36;--primary-dark: 180 83 9}html:has(.nav-tabs-item[data-active=\"true\"]:is([href^=\"/share-localhost/\"],[href^=\"/docs/share-localhost/\"])),.product-share-localhost{--primary: 147 51 234;--primary-light: 192 132 252;--primary-dark: 147 51 234}#navbar>.max-w-8xl{max-width:none}#navbar .h-16{padding-inline:0.5rem}@media (min-width: 64rem){#navbar a:has(>.nav-logo){margin-left:1.5rem}}@media (min-width: 64rem){#navbar div:has(>.nav-tabs){padding-inline:2rem 1rem}#navbar .nav-tabs{flex:1}#navbar .nav-tabs-item:is([href^=\"/for-agents\"],[href^=\"/docs/for-agents\"]){margin-left:auto}}#navbar .nav-tabs-item:focus-visible{outline:none}#navbar .nav-tabs-item:focus-visible::before{content:\"\";position:absolute;inset:0.625rem -0.5rem;border-radius:0.375rem;box-shadow:0 0 0 4px rgb(var(--primary) / 0.3);pointer-events:none}:is(html.dark,html[data-theme=\"dark\"]) #navbar .nav-tabs-item:focus-visible::before{box-shadow:0 0 0 4px rgb(var(--primary-light) / 0.35)}@media (min-width: 64rem) and (max-width: 80rem){#navbar .nav-tabs{column-gap:1rem}}@media (min-width: 100rem){:root{--topbar-tabs-height: 0rem !important;--experiment-search-width: 9rem;--experiment-actions-width: 27rem}#navbar>.max-w-8xl{position:relative}#navbar div:has(>.nav-tabs){position:absolute;top:0;left:10rem;right:calc(0.5rem + var(--experiment-actions-width) + var(--experiment-search-width) + 2.5rem);height:4rem;padding-inline:0;z-index:30}#navbar .nav-tabs{white-space:nowrap}#navbar .h-16>div>div:has(>a>.nav-logo){flex:1 1 auto}#navbar .h-16>div>div:has(>#search-bar-entry){flex:0 0 var(--experiment-search-width)}#navbar .h-16>div>div:has(>nav){flex:0 0 var(--experiment-actions-width)}#navbar .h-16>div{border-bottom:0}}@media (min-width: 106rem){:root{--experiment-search-width: 12rem}}@media (min-width: 64rem){#navbar.is-not-custom.is-not-center~div:has(>#sidebar){--experiment-sidebar-width: 18rem;--experiment-article-width: 52rem;--experiment-content-width: 74rem;max-width:none;padding-inline:1rem}#navbar.is-not-custom.is-not-center~div>#sidebar{width:var(--experiment-sidebar-width)}#navbar.is-not-custom.is-wide~div:has(>#sidebar)>#content-container{flex:none;width:min(\n var(--experiment-article-width),\n calc(100% - var(--experiment-sidebar-width) - 2rem)\n );margin-left:clamp(\n 2rem,\n calc((100% - var(--experiment-article-width)) / 2 - var(--experiment-sidebar-width)),\n max(2rem, calc(100% - var(--experiment-sidebar-width) - var(--experiment-content-width)))\n );margin-right:auto}#navbar.is-not-custom.is-not-center.is-not-wide~div:has(>#sidebar)>#content-container{flex:none;width:min(\n var(--experiment-content-width),\n calc(100% - var(--experiment-sidebar-width) - 2rem)\n );margin-left:clamp(\n 2rem,\n calc((100% - var(--experiment-article-width)) / 2 - var(--experiment-sidebar-width)),\n max(2rem, calc(100% - var(--experiment-sidebar-width) - var(--experiment-content-width)))\n );margin-right:auto}#navbar.is-not-custom.is-not-center~div #content-area{flex:1;min-width:0;width:auto;margin-inline:0;padding-inline:0}#navbar.is-not-custom.is-not-center.is-not-wide~div #content-side-layout{flex:none;width:19rem}}.ngrok-consent{--ngrok-consent-surface: #ffffff;--ngrok-consent-border: #d4d4d4;--ngrok-consent-text: #121212;--ngrok-consent-action-bg-hover: rgb(115 115 115 / 10%);--ngrok-consent-focus-ring: rgb(0 120 196 / 35%);--ngrok-consent-shadow:\n 0 1px 13px 0 rgb(0 0 0 / 5%),\n 0 4px 6px -4px rgb(0 0 0 / 10%),\n 0 10px 15px -3px rgb(0 0 0 / 10%);position:fixed;inset-inline:0;bottom:1rem;z-index:2147483000;display:flex;justify-content:center;padding-inline:1rem;pointer-events:none}:is(html.dark,html[data-theme=\"dark\"]) .ngrok-consent{--ngrok-consent-surface: #171717;--ngrok-consent-border: #404040;--ngrok-consent-text: #ffffff;--ngrok-consent-focus-ring: rgb(0 188 255 / 35%);--ngrok-consent-shadow:\n 0 1px 13px 0 rgb(0 0 0 / 15%),\n 0 4px 6px -4px rgb(0 0 0 / 30%),\n 0 10px 15px -3px rgb(0 0 0 / 30%)}@media (min-width: 640px){.ngrok-consent{bottom:2.5rem}}.ngrok-consent-panel{pointer-events:auto;display:flex;align-items:center;gap:0.75rem;width:fit-content;max-width:100%;padding:0.5rem 0.75rem;border:1px solid var(--ngrok-consent-border);border-radius:1rem;background-color:var(--ngrok-consent-surface);color:var(--ngrok-consent-text);box-shadow:var(--ngrok-consent-shadow);transition-property:opacity, translate;transition-timing-function:cubic-bezier(0, 0, 0.2, 1);transition-duration:400ms}.ngrok-consent-panel[hidden]{display:none}.ngrok-consent-panel[data-state=\"closed\"]{pointer-events:none;opacity:0;transition-duration:200ms}@media (prefers-reduced-motion: no-preference){.ngrok-consent-panel[data-state=\"closed\"]{translate:0 calc(100% + 2.5rem)}}.ngrok-consent-message{margin:0;font-size:0.875rem;line-height:1.25rem}.ngrok-consent-actions{display:flex;align-items:center;gap:0.375rem}.ngrok-consent-icon-button{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;padding:0;border:1px solid transparent;border-radius:0.375rem;background-color:transparent;color:var(--ngrok-consent-text);cursor:pointer;outline:2px solid transparent;outline-offset:2px;text-decoration:none;transition:transform 150ms cubic-bezier(0, 0, 0.2, 1)}.ngrok-consent-icon-button:hover{background-color:var(--ngrok-consent-action-bg-hover)}.ngrok-consent-icon-button:active{transform:scale(0.97)}.ngrok-consent-icon-button:focus-visible{box-shadow:0 0 0 4px var(--ngrok-consent-focus-ring)}.ngrok-consent-icon-button svg{width:1.25rem;height:1.25rem;flex-shrink:0}img[src$=\"/img/icons/cursor.svg\"],img[src$=\"/img/icons/vscode.svg\"]{opacity:0.5}.dark img[src$=\"/img/icons/cursor.svg\"],.dark img[src$=\"/img/icons/vscode.svg\"]{filter:invert(1)}:root{--mint-foreground: oklch(18.2% 0 0);--mint-token-comment: oklch(18.2% 0 0 / 60%);--mint-token-constant: oklch(55.5% 0.163 48.998);--mint-token-string: oklch(50.8% 0.118 165.612);--mint-token-string-expression: oklch(50.8% 0.118 165.612);--mint-token-keyword: oklch(49.6% 0.265 301.924);--mint-token-function: oklch(50% 0.134 242.749);--mint-token-parameter: oklch(51.4% 0.222 16.935);--mint-token-punctuation: oklch(50% 0.134 242.749);--mint-token-link: oklch(50% 0.134 242.749);--mantle-code-bg: oklch(98.5% 0 0);--mantle-code-border: oklch(87% 0 0);--mantle-code-header-text: oklch(37.1% 0 0);--mantle-code-active-tab-bg: oklch(55.6% 0 0 / 15%)}:is(html.dark,html[data-theme=\"dark\"]){--mint-foreground: #fff;--mint-token-comment: rgb(255 255 255 / 50%);--mint-token-constant: oklch(87.9% 0.169 91.605);--mint-token-string: oklch(84.5% 0.143 164.978);--mint-token-string-expression: oklch(84.5% 0.143 164.978);--mint-token-keyword: oklch(82.7% 0.119 306.383);--mint-token-function: oklch(82.8% 0.111 230.318);--mint-token-parameter: oklch(81% 0.117 11.638);--mint-token-punctuation: oklch(82.8% 0.111 230.318);--mint-token-link: oklch(82.8% 0.111 230.318);--mantle-code-bg: oklch(18.2% 0 0);--mantle-code-border: oklch(37.1% 0 0);--mantle-code-header-text: oklch(87% 0 0)}.callout:is([data-callout-type=\"note\"],[data-callout-type=\"info\"]){--mantle-intent-500: oklch(68.5% 0.169 237.323);--mantle-intent-700: oklch(50% 0.134 242.749);--mantle-intent-900: oklch(39.1% 0.09 240.876)}.callout:is([data-callout-type=\"tip\"],[data-callout-type=\"check\"]){--mantle-intent-500: oklch(69.6% 0.17 162.48);--mantle-intent-700: oklch(50.8% 0.118 165.612);--mantle-intent-900: oklch(37.8% 0.077 168.94)}.callout[data-callout-type=\"warning\"]{--mantle-intent-500: oklch(76.9% 0.188 70.08);--mantle-intent-700: oklch(55.5% 0.163 48.998);--mantle-intent-900: oklch(41.4% 0.112 45.904)}.callout[data-callout-type=\"danger\"]{--mantle-intent-500: oklch(64.5% 0.246 16.439);--mantle-intent-700: oklch(51.4% 0.222 16.935);--mantle-intent-900: oklch(41% 0.159 10.272)}:is(html.dark,html[data-theme=\"dark\"]) .callout:is([data-callout-type=\"note\"],[data-callout-type=\"info\"]){--mantle-intent-700: oklch(82.8% 0.111 230.318);--mantle-intent-900: oklch(95.1% 0.026 236.824)}:is(html.dark,html[data-theme=\"dark\"]) .callout:is([data-callout-type=\"tip\"],[data-callout-type=\"check\"]){--mantle-intent-700: oklch(84.5% 0.143 164.978);--mantle-intent-900: oklch(95% 0.052 163.051)}:is(html.dark,html[data-theme=\"dark\"]) .callout[data-callout-type=\"warning\"]{--mantle-intent-700: oklch(87.9% 0.169 91.605);--mantle-intent-900: oklch(96.2% 0.059 95.617)}:is(html.dark,html[data-theme=\"dark\"]) .callout[data-callout-type=\"danger\"]{--mantle-intent-700: oklch(81% 0.117 11.638);--mantle-intent-900: oklch(94.1% 0.03 12.58)}.callout:is([data-callout-type=\"note\"],[data-callout-type=\"info\"],[data-callout-type=\"tip\"],[data-callout-type=\"check\"],[data-callout-type=\"warning\"],[data-callout-type=\"danger\"]){gap:0.75rem;padding:0.875rem 1rem;border-radius:0.375rem;border-color:color-mix(in oklab, var(--mantle-intent-500) 50%, transparent);background-color:color-mix(in oklab, var(--mantle-intent-500) 10%, transparent)}.callout:is([data-callout-type=\"note\"],[data-callout-type=\"info\"],[data-callout-type=\"tip\"],[data-callout-type=\"check\"],[data-callout-type=\"warning\"],[data-callout-type=\"danger\"]) :is([data-component-part=\"callout-icon\"] svg,[data-component-part=\"callout-content\"]){color:var(--mantle-intent-700)}.callout:is([data-callout-type=\"note\"],[data-callout-type=\"info\"],[data-callout-type=\"tip\"],[data-callout-type=\"check\"],[data-callout-type=\"warning\"],[data-callout-type=\"danger\"]) [data-component-part=\"callout-icon\"]{width:1.25rem;margin-top:0.25rem}.callout:is([data-callout-type=\"note\"],[data-callout-type=\"info\"],[data-callout-type=\"tip\"],[data-callout-type=\"check\"],[data-callout-type=\"warning\"],[data-callout-type=\"danger\"]) [data-component-part=\"callout-icon\"] svg{width:1.25rem;height:1.25rem}.callout:is([data-callout-type=\"note\"],[data-callout-type=\"info\"],[data-callout-type=\"tip\"],[data-callout-type=\"check\"],[data-callout-type=\"warning\"],[data-callout-type=\"danger\"]) [data-component-part=\"callout-content\"]{font-size:1rem;line-height:1.75rem}.callout:is([data-callout-type=\"note\"],[data-callout-type=\"info\"],[data-callout-type=\"tip\"],[data-callout-type=\"check\"],[data-callout-type=\"warning\"],[data-callout-type=\"danger\"]) [data-component-part=\"callout-content\"] ul>li::before{background-color:var(--mantle-intent-700)}.callout:is([data-callout-type=\"note\"],[data-callout-type=\"info\"],[data-callout-type=\"tip\"],[data-callout-type=\"check\"],[data-callout-type=\"warning\"],[data-callout-type=\"danger\"]) [data-component-part=\"callout-content\"] code{color:var(--mantle-intent-900)!important;background-color:color-mix(in oklab, var(--mantle-intent-500) 10%, transparent);border:1px solid color-mix(in oklab, var(--mantle-intent-500) 20%, transparent)}:root :is(.code-block,.code-group){--mint-background: var(--mantle-code-bg);padding:0;border:1px solid var(--mantle-code-border);border-radius:0.375rem;background-color:var(--mantle-code-bg)}:root .code-group .code-block{border:0;border-radius:0 0 0.375rem 0.375rem}.code-block [data-component-part=\"code-block-root\"]{border-radius:inherit}.code-block [data-component-part=\"code-block-root\"]{font-size:0.8125rem}:root .code-block pre{line-height:1.25rem}.code-block [data-component-part=\"scroll-area-viewport\"]{padding:1rem}.code-block [data-component-part=\"code-block-header\"],.code-group [data-component-part=\"code-group-tab-bar\"]{border-bottom:1px solid var(--mantle-code-border);border-radius:0.375rem 0.375rem 0 0}.code-block [data-component-part=\"code-block-header\"]{padding-block:0.5rem;padding-inline:1rem 0.625rem}.code-block [data-component-part=\"code-block-header-filename\"]{color:var(--mantle-code-header-text)}.code-group [data-component-part=\"code-group-tab-bar\"] [role=\"tab\"]{margin-block:0.5rem;color:var(--mantle-code-header-text)}.code-group [data-component-part=\"code-group-tab-bar\"] [role=\"tab\"][aria-selected=\"true\"]{color:var(--mint-foreground)}.code-group [data-component-part=\"code-group-tab-bar\"] [role=\"tab\"]>div:first-child{padding-block:0.125rem;border-radius:0.25rem}.code-group [data-component-part=\"code-group-tab-bar\"] [role=\"tab\"][aria-selected=\"true\"]>div:first-child{background-color:var(--mantle-code-active-tab-bg)}:root .code-group [data-component-part=\"code-group-tab-bar\"] [role=\"tab\"]:hover>div:first-child{color:var(--mint-foreground)}:root .code-group [data-component-part=\"code-group-tab-bar\"] [role=\"tab\"][aria-selected=\"false\"]:hover>div:first-child{background-color:oklch(55.6% 0 0 / 10%)}.code-group [data-component-part=\"code-group-tab-bar\"] [role=\"tab\"]>div:not(:first-child){display:none}.code-block-copy-button button{background-color:var(--mantle-code-bg)!important}.code-block-copy-button button:hover{background-color:var(--mantle-code-active-tab-bg)!important}:root .code-block-copy-button svg{color:var(--mint-token-comment)}:root{--mantle-card-border: oklch(87% 0 0);--mantle-card-bg: #fff;--mantle-card-border-muted: oklch(92.2% 0 0);--mantle-base-bg: oklch(98.5% 0 0);--mantle-separator: oklch(55.6% 0 0 / 20%);--mantle-text-body: oklch(18.2% 0 0 / 75%);--mantle-text-muted: oklch(18.2% 0 0 / 60%);--mantle-text-gray-600: oklch(43.9% 0 0)}:is(html.dark,html[data-theme=\"dark\"]){--mantle-card-border: oklch(37.1% 0 0);--mantle-card-bg: oklch(20.5% 0 0);--mantle-card-border-muted: oklch(26.9% 0 0);--mantle-base-bg: oklch(18.2% 0 0);--mantle-separator: oklch(70.8% 0 0 / 20%);--mantle-text-body: rgb(255 255 255 / 70%);--mantle-text-muted: rgb(255 255 255 / 50%);--mantle-text-gray-600: oklch(70.8% 0 0)}:root .prose :not(pre)>code{padding:0 0.25rem;border:1px solid oklch(55.6% 0 0 / 15%);border-radius:0.375rem;background-color:oklch(55.6% 0 0 / 5%);color:var(--mint-foreground);font-size:0.8em}:root .prose a>code{color:inherit}:root [data-component-part=\"tabs-list\"]{border-color:var(--mantle-separator)}:root [data-component-part=\"tab-button\"]{padding-block:0.75rem calc(0.75rem - 2px);border-bottom-width:3px;color:var(--mantle-text-gray-600);font-weight:500;line-height:1.25rem}:root [data-component-part=\"tab-button\"]:hover{border-color:transparent;color:var(--mint-foreground)}:root [data-component-part=\"tab-button\"][data-active=\"true\"]{border-color:var(--mint-foreground);color:var(--mint-foreground)}:root .tab-container>div>.prose>:last-child{margin-bottom:0}:root .prose table{border:1px solid var(--mantle-card-border);border-collapse:separate;border-spacing:0;border-radius:0.5rem;background-color:var(--mantle-card-bg)}:root .prose table th{height:2.75rem;padding:0 0.75rem;border-bottom:1px solid var(--mantle-card-border-muted);background-color:var(--mantle-base-bg);color:var(--mantle-text-muted);font-size:1rem;font-weight:500;line-height:1.75rem;vertical-align:middle}:root .prose table th:first-child{border-top-left-radius:calc(0.5rem - 1px)}:root .prose table th:last-child{border-top-right-radius:calc(0.5rem - 1px)}:root .prose table td{padding:0.75rem;border-bottom:0;color:var(--mantle-text-body);font-size:1rem;line-height:1.75rem}:root .prose table tbody tr{border-bottom:0}:root .prose table tbody tr+tr>td{border-top:1px solid var(--mantle-card-border-muted)}:root .card{border-color:var(--mantle-card-border);border-radius:0.375rem;background-color:var(--mantle-card-bg)}:root .card [data-component-part=\"card-content-container\"]{padding:1.5rem}:root .card [data-component-part=\"card-title\"]{font-weight:500}:root .accordion-group{border-width:1px 0;border-color:var(--mantle-separator);border-radius:0}:root details.accordion{border-width:0;border-radius:0;background-color:transparent}:root details.accordion:not(.accordion-group>details){border-block:1px solid var(--mantle-separator)}:root .accordion [data-component-part=\"accordion-button\"]{padding:1rem 0;gap:1rem;background-color:transparent}:root .accordion [data-component-part=\"accordion-title\"]{color:var(--mint-foreground)}:root .accordion [data-component-part=\"accordion-caret-right\"]{order:1;background-color:var(--mantle-text-muted);mask:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath d='M213.66,101.66l-80,80a8,8,0,0,1-11.32,0l-80-80A8,8,0,0,1,53.66,90.34L128,164.69l74.34-74.35a8,8,0,0,1,11.32,11.32Z'/%3E%3C/svg%3E\") center / contain no-repeat;transition:transform 200ms ease-out}:root .accordion [data-component-part=\"accordion-caret-right\"] svg{display:none}:root details.accordion[open]>summary [data-component-part=\"accordion-caret-right\"]{transform:rotate(180deg)}:root .accordion [data-component-part=\"accordion-content\"]{padding:0 0 1rem}:root #sidebar li>a{border-radius:0.375rem}"}],"page":{"pagePath":"ai-gateway/api-reference/firewall-policies/get","slug":"/ai-gateway/api-reference/firewall-policies/get","pageMetadata":{"openapi":"openapi/ai-gateway.yaml GET /firewall-policies/{id}","description":"Get a single AI Gateway Firewall policy by ID.","title":"Get an AI Gateway Firewall Policy","href":"/ai-gateway/api-reference/firewall-policies/get"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Get a single AI Gateway Firewall policy by ID.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"codeStyling":{"theme":{"light":"css-variables","dark":"css-variables"}},"config":{},"pageMetadata":{"openapi":"openapi/ai-gateway.yaml GET /firewall-policies/{id}","description":"Get a single AI Gateway Firewall policy by ID.","title":"Get an AI Gateway Firewall Policy","href":"/ai-gateway/api-reference/firewall-policies/get"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":["/docs/_mintlify/custom/ngrok/05d9da4b27f4fed8/redirect-to-ngrok.js","/docs/_mintlify/custom/ngrok/cabe0d94bdb3d370/persist-query-params.js","/docs/_mintlify/custom/ngrok/52bc6b535db9c274/definition-wrapper.js","/docs/_mintlify/custom/ngrok/6167f7a3c0c9913f/consent.js"],"openApiReferenceData":{"operation":{"tags":["AI Gateway Firewall Policies"],"summary":"Get an AI Gateway Firewall Policy","description":"Get a single AI Gateway Firewall policy by ID.","operationId":"GetAIGatewayFirewallPolicy","responses":{"200":"a99a97f8-403a-4ae5-9657-50556e14a9b5","default":"2a157adf-d275-480f-8cd6-6c5213de3e02"},"method":"get","type":"path","servers":["7f7eb62c-6aba-4678-9287-8dab427afc75"],"security":["302a1166-16d5-447d-bf3d-85578f88a3c1"],"path":"/firewall-policies/{id}","baseUrlOptions":["https://api.ngrok.ai"],"title":"Get an AI Gateway Firewall Policy","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"ae610be4-84c6-4149-a18f-712fffda8c48":{"name":"id","in":"path","required":true,"description":"Unique identifier for an AI Gateway Firewall policy.","schema":{"type":"string","isRequired":true,"description":"Unique identifier for an AI Gateway Firewall policy.","uniqueKey":"","typeLabel":"string"}}},"responses":{"a99a97f8-403a-4ae5-9657-50556e14a9b5":{"description":"The Firewall policy.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["id","uri","name","createdAt","updatedAt","createdBy","lastUpdatedBy","accessKeyConfigurationCount","appliesToAllKeys","mode","onError","environment","rules"],"properties":{"id":{"type":"string","description":"Unique identifier for this policy.","isRequired":true,"uniqueKey":"id","typeLabel":"string"},"uri":{"type":"string","description":"URI of this AI Gateway Firewall policy API resource.","isRequired":true,"uniqueKey":"uri","typeLabel":"string"},"name":{"type":"string","description":"User-defined label for this policy.","isRequired":true,"uniqueKey":"name","typeLabel":"string"},"createdAt":{"type":"string","format":"date-time","description":"Timestamp when the policy was created.","isRequired":true,"uniqueKey":"createdAt","typeLabel":"string\u003cdate-time>"},"updatedAt":{"type":"string","format":"date-time","description":"Timestamp when the policy was last updated.","isRequired":true,"uniqueKey":"updatedAt","typeLabel":"string\u003cdate-time>"},"createdBy":{"type":"object","additionalProperties":false,"required":["id","uri"],"properties":{"id":{"type":"string","description":"Resource identifier.","isRequired":true,"uniqueKey":"createdBy.id","typeLabel":"string"},"uri":{"type":"string","description":"URI for locating the resource.","isRequired":true,"uniqueKey":"createdBy.uri","typeLabel":"string"}},"isRequired":true,"uniqueKey":"createdBy","typeLabel":"object"},"lastUpdatedBy":{"type":"object","additionalProperties":false,"required":["id","uri"],"properties":{"id":{"type":"string","description":"Resource identifier.","isRequired":true,"uniqueKey":"lastUpdatedBy.id","typeLabel":"string"},"uri":{"type":"string","description":"URI for locating the resource.","isRequired":true,"uniqueKey":"lastUpdatedBy.uri","typeLabel":"string"}},"isRequired":true,"uniqueKey":"lastUpdatedBy","typeLabel":"object"},"accessKeyConfigurationCount":{"type":"integer","format":"int32","description":"Number of access key configurations that enforce this policy. 0 when unused.","isRequired":true,"uniqueKey":"accessKeyConfigurationCount","typeLabel":"integer\u003cint32>"},"appliesToAllKeys":{"type":"boolean","description":"True when the policy is the account's baseline, set as `firewallPolicyId` on the gateway config. It applies to every key, under each configuration's own policy.","isRequired":true,"uniqueKey":"appliesToAllKeys","typeLabel":"boolean"},"mode":{"type":"string","enum":["enforce","audit"],"description":"`enforce` blocks a tool call or request the policy's rules flag. `audit` lets it through and reports\nthe verdict. The mode applies to this policy's rules only: an `audit` policy only reports, even when\nthe account's all-keys policy or a request enforces. Defaults to `enforce`.\n","isRequired":true,"uniqueKey":"mode","typeLabel":"enum\u003cstring>"},"onError":{"type":"string","enum":["block","log"],"description":"What a tool call or request the decision model could not judge does. Defaults to `block`.","isRequired":true,"uniqueKey":"onError","typeLabel":"enum\u003cstring>"},"environment":{"type":"array","maxItems":32,"description":"Facts about the caller's setup that inform the decision model. They are not rules.","items":{"type":"string","maxLength":1000,"uniqueKey":"environment.items.[INDEX]","typeLabel":"string"},"isRequired":true,"uniqueKey":"environment","typeLabel":"string[]"},"rules":{"type":"array","maxItems":48,"description":"Every rule of the policy, of every tier, before and after the model. A policy holds up to 48.\nA key enforces its account's all-keys policy and its configuration's policy together, so it\ncan enforce up to 96, and a request can add up to 48 of its own.\n","items":{"type":"object","additionalProperties":false,"required":["id","tier"],"properties":{"id":{"type":"string","maxLength":64,"description":"Rule ID. Lowercase letters, digits, `-`, and `_`. Unique across the policy's rules.","isRequired":true,"uniqueKey":"rules.items.[INDEX].id","typeLabel":"string"},"tier":{"type":"string","enum":["hardDeny","softDeny","allow"],"x-enum-varnames":["RuleTierHardDeny","RuleTierSoftDeny","RuleTierAllow"],"description":"`hardDeny` always blocks a match. `softDeny` blocks a match unless an `allow` rule of the same policy matches the same request or tool call. `allow` never blocks.","isRequired":true,"uniqueKey":"rules.items.[INDEX].tier","typeLabel":"enum\u003cstring>"},"name":{"type":"string","maxLength":120,"description":"Name shown as `[name]` when the rule matches. Defaults to the ID.","uniqueKey":"rules.items.[INDEX].name","typeLabel":"string"},"kind":{"type":"string","enum":["regex","decision","tool"],"x-enum-varnames":["RuleKindRegex","RuleKindDecision","RuleKindTool"],"description":"`regex` matches `pattern`, with no model call. `decision` has the decision model score `instructions`. `tool` matches the names in `tools`, with no model call. Defaults to `decision`.","uniqueKey":"rules.items.[INDEX].kind","typeLabel":"enum\u003cstring>"},"pattern":{"type":"string","maxLength":1000,"description":"RE2 pattern a `regex` rule matches. For a tool call, it matches the call's name and arguments.","uniqueKey":"rules.items.[INDEX].pattern","typeLabel":"string"},"instructions":{"type":"string","maxLength":8000,"description":"What a `decision` rule matches, in plain language. Required for a `decision` rule.","uniqueKey":"rules.items.[INDEX].instructions","typeLabel":"string"},"tools":{"type":"array","maxItems":64,"description":"Tool names a `tool` rule matches, whole. `*` matches any run of characters, so `mcp__github__*` matches every tool of one MCP server. A `tool` rule reads `tool_calls`, the name of each call the model returns, or `tool_definitions`, the tools a request offers. Required for a `tool` rule.\n","items":{"type":"string","maxLength":128,"uniqueKey":"rules.items.[INDEX].tools.items.[INDEX]","typeLabel":"string"},"uniqueKey":"rules.items.[INDEX].tools","typeLabel":"string[]"},"threshold":{"type":"number","format":"double","minimum":0,"maximum":1,"description":"Match probability at which a `decision` rule fires. Defaults to 0.6 for a deny rule and 0.7 for an allow rule.","uniqueKey":"rules.items.[INDEX].threshold","typeLabel":"number\u003cdouble>"},"targets":{"type":"array","description":"What the rule reads, which also sets when it runs. `messages`, `tool_results`, and `tool_definitions` run before the request reaches the model. `tool_calls` runs on each tool call the model returns, and cannot be combined with the others. Defaults to `tool_calls`.\n","items":{"type":"string","enum":["messages","tool_results","tool_definitions","tool_calls"],"x-enum-varnames":["RuleTargetMessages","RuleTargetToolResults","RuleTargetToolDefinitions","RuleTargetToolCalls"],"uniqueKey":"rules.items.[INDEX].targets.items.[INDEX]","typeLabel":"enum\u003cstring>"},"uniqueKey":"rules.items.[INDEX].targets","typeLabel":"enum\u003cstring>[]"}},"uniqueKey":"rules.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"rules","typeLabel":"object[]"},"description":{"type":"string","description":"Human-readable description.","uniqueKey":"description","typeLabel":"string"},"metadata":{"type":"string","description":"Arbitrary user-defined metadata.","uniqueKey":"metadata","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"id":"\u003cstring>","uri":"\u003cstring>","name":"\u003cstring>","createdAt":"2023-11-07T05:31:56Z","updatedAt":"2023-11-07T05:31:56Z","createdBy":{"id":"\u003cstring>","uri":"\u003cstring>"},"lastUpdatedBy":{"id":"\u003cstring>","uri":"\u003cstring>"},"accessKeyConfigurationCount":123,"appliesToAllKeys":true,"mode":"enforce","onError":"block","environment":["\u003cstring>"],"rules":[{"id":"\u003cstring>","tier":"hardDeny","name":"\u003cstring>","kind":"regex","pattern":"\u003cstring>","instructions":"\u003cstring>","tools":["\u003cstring>"],"threshold":0.5,"targets":["messages"]}],"description":"\u003cstring>","metadata":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"2a157adf-d275-480f-8cd6-6c5213de3e02":{"description":"API error response.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["statusCode","msg","details"],"properties":{"statusCode":{"type":"integer","format":"int32","description":"HTTP status code for this error.","isRequired":true,"uniqueKey":"statusCode","typeLabel":"integer\u003cint32>"},"msg":{"type":"string","description":"Human-readable error message.","isRequired":true,"uniqueKey":"msg","typeLabel":"string"},"details":{"type":"object","description":"Structured error details.","additionalProperties":{"type":"string","uniqueKey":"details.additionalProperties","typeLabel":"string"},"isRequired":true,"uniqueKey":"details","typeLabel":"object"},"errorCode":{"type":"string","description":"Stable ngrok error code when available.","uniqueKey":"errorCode","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"statusCode":123,"msg":"\u003cstring>","details":{},"errorCode":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"302a1166-16d5-447d-bf3d-85578f88a3c1":{"bearerAuth":{"type":"http","scheme":"bearer","scopes":[],"schemeName":"bearerAuth"}}},"servers":{"7f7eb62c-6aba-4678-9287-8dab427afc75":{"url":"https://api.ngrok.ai"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","scopes":[],"schemeName":"bearerAuth"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"Bearer authentication header of the form `Bearer \u003ctoken>`, where `\u003ctoken>` is your auth token.","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"bearerAuth","name":"Authorization"}],"title":"bearerAuth"}]},"originalFileLocation":"openapi/ai-gateway.yaml"},"subdomain":"ngrok","siteName":"ngrok documentation","title":"Get an AI Gateway Firewall Policy - ngrok documentation","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-11-13T17:09:14.404Z","originalFileLocation":"ai-gateway/api-reference/firewall-policies/get.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Get a single AI Gateway Firewall policy by ID.\">\u003cmeta data-mint-head name=\"application-name\" content=\"ngrok documentation\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/docs/mintlify-assets/_mintlify/favicons/ngrok/EDFj7szN2_Vn64sM/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/docs/mintlify-assets/_mintlify/favicons/ngrok/EDFj7szN2_Vn64sM/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/docs/mintlify-assets/_mintlify/favicons/ngrok/EDFj7szN2_Vn64sM/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/docs/mintlify-assets/_mintlify/favicons/ngrok/EDFj7szN2_Vn64sM/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/docs/mintlify-assets/_mintlify/favicons/ngrok/EDFj7szN2_Vn64sM/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/docs/mintlify-assets/_mintlify/favicons/ngrok/EDFj7szN2_Vn64sM/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/docs/mintlify-assets/_mintlify/favicons/ngrok/EDFj7szN2_Vn64sM/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/docs/mintlify-assets/_mintlify/favicons/ngrok/EDFj7szN2_Vn64sM/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/docs/mintlify-assets/_mintlify/favicons/ngrok/EDFj7szN2_Vn64sM/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Get an AI Gateway Firewall Policy - ngrok documentation\">\u003cmeta data-mint-head property=\"og:description\" content=\"Get a single AI Gateway Firewall policy by ID.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"ngrok documentation\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://ngrok.com/docs/ai-gateway/api-reference/firewall-policies/get\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://ngrok.mintlify.site/docs/_mintlify/api/og/v2?division=Firewall+Policies\u0026amp;title=Get+an+AI+Gateway+Firewall+Policy\u0026amp;description=Get+a+single+AI+Gateway+Firewall+policy+by+ID.\u0026amp;theme=7e270833a601ca6e053d019e\u0026amp;signature=51c782b9dd93d28c028d2d9a2faa482fcf732f05a01ffd24958eb7d5513a6df2\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Get an AI Gateway Firewall Policy - ngrok documentation\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Get a single AI Gateway Firewall policy by ID.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://ngrok.mintlify.site/docs/_mintlify/api/og/v2?division=Firewall+Policies\u0026amp;title=Get+an+AI+Gateway+Firewall+Policy\u0026amp;description=Get+a+single+AI+Gateway+Firewall+policy+by+ID.\u0026amp;theme=7e270833a601ca6e053d019e\u0026amp;signature=51c782b9dd93d28c028d2d9a2faa482fcf732f05a01ffd24958eb7d5513a6df2\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/docs/mintlify-assets/_mintlify/favicons/ngrok/EDFj7szN2_Vn64sM/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"ngrok documentation\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#0078C4\">\u003clink data-mint-head rel=\"canonical\" href=\"https://ngrok.com/docs/ai-gateway/api-reference/firewall-policies/get\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/docs/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/docs/ai-gateway/api-reference/firewall-policies/get.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://ngrok.com/#organization\",\"name\":\"ngrok documentation\",\"url\":\"https://ngrok.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/ngrok/_7R3hf69rnKiCshG/logo/compact-light.svg?fit=max\u0026auto=format\u0026n=_7R3hf69rnKiCshG\u0026q=85\u0026s=d79c7eb9cf2273745608b35a1b312b05\"}},{\"@type\":\"WebSite\",\"@id\":\"https://ngrok.com/docs#website\",\"name\":\"ngrok documentation\",\"url\":\"https://ngrok.com/docs\",\"publisher\":{\"@id\":\"https://ngrok.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://ngrok.com/docs/ai-gateway/api-reference/firewall-policies/get#webpage\",\"url\":\"https://ngrok.com/docs/ai-gateway/api-reference/firewall-policies/get\",\"name\":\"Get an AI Gateway Firewall Policy\",\"description\":\"Get a single AI Gateway Firewall policy by ID.\",\"dateModified\":\"2026-11-13T17:09:14.404Z\",\"isPartOf\":{\"@id\":\"https://ngrok.com/docs#website\"},\"breadcrumb\":{\"@id\":\"https://ngrok.com/docs/ai-gateway/api-reference/firewall-policies/get#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://ngrok.com/docs/ai-gateway/api-reference/firewall-policies/get#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"API Reference\",\"item\":\"https://ngrok.com/docs/ai-gateway/api-reference/overview\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Firewall Policies\",\"item\":\"https://ngrok.com/docs/ai-gateway/api-reference/firewall-policies/list\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Get an AI Gateway Firewall Policy\",\"item\":\"https://ngrok.com/docs/ai-gateway/api-reference/firewall-policies/get\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://ngrok.com/docs/ai-gateway/api-reference/firewall-policies/get#apireference\",\"headline\":\"Get an AI Gateway Firewall Policy\",\"name\":\"Get an AI Gateway Firewall Policy\",\"description\":\"Get a single AI Gateway Firewall policy by ID.\",\"url\":\"https://ngrok.com/docs/ai-gateway/api-reference/firewall-policies/get\",\"mainEntityOfPage\":{\"@id\":\"https://ngrok.com/docs/ai-gateway/api-reference/firewall-policies/get#webpage\"},\"dateModified\":\"2026-11-13T17:09:14.404Z\",\"publisher\":{\"@id\":\"https://ngrok.com/#organization\"},\"isPartOf\":{\"@id\":\"https://ngrok.com/docs#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"ngrok documentation\",\"publisher\":{\"@type\":\"Organization\",\"name\":\"ngrok documentation\"},\"provider\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","agentPointerHref":"/docs/ai-gateway/api-reference/firewall-policies/get.md","siteName":"ngrok documentation","nav":{"global":null,"tabs":[{"tab":"Start","pages":[{"title":"Start","href":"/start"}]},{"tab":"Gateway","pages":[{"title":"Gateway","href":"/gateway/overview"}]},{"tab":"AI Gateway","anchors":[{"anchor":"AI Gateway","icon":"https://mintlify.s3.us-west-1.amazonaws.com/ngrok/img/icons/ai-gateway.svg","pages":[{"title":"AI Gateway Overview","sidebarTitle":"Overview","icon":"house","href":"/ai-gateway/overview"},{"title":"AI Gateway Quickstart","sidebarTitle":"Quickstart","icon":"rocket","href":"/ai-gateway/quickstart"},{"title":"How It Works","icon":"gears","href":"/ai-gateway/how-it-works"},{"title":"Model Catalog","icon":"book","href":"/ai-gateway/reference/model-catalog"},{"title":"AI Gateway FAQ","sidebarTitle":"FAQ","icon":"circle-question","href":"/ai-gateway/faq"},{"group":"Concepts","pages":[{"title":"Access Keys","href":"/ai-gateway/concepts/access-keys"},{"title":"AI Gateway Credits","sidebarTitle":"Credits","href":"/ai-gateway/concepts/credits"},{"title":"Hosted Tool Billing","href":"/ai-gateway/concepts/hosted-tools"},{"title":"AI Gateway Providers","sidebarTitle":"Providers","href":"/ai-gateway/concepts/providers"},{"title":"AI Gateway Models","sidebarTitle":"Models","href":"/ai-gateway/concepts/models"},{"title":"Open-Weight Models","href":"/ai-gateway/concepts/open-weight-models"},{"title":"Custom Providers","href":"/ai-gateway/concepts/custom-providers"},{"title":"Bring Your Own Keys","href":"/ai-gateway/concepts/bring-your-own-keys"},{"title":"AI Gateway Firewall","sidebarTitle":"Firewall","href":"/ai-gateway/concepts/firewall"}]},{"group":"Getting Started With","pages":[{"title":"Use OpenAI with the AI Gateway","sidebarTitle":"OpenAI","href":"/ai-gateway/providers/openai"},{"title":"Use Anthropic with the AI Gateway","sidebarTitle":"Anthropic","href":"/ai-gateway/providers/anthropic"},{"title":"Use OpenRouter with the AI Gateway","sidebarTitle":"OpenRouter","href":"/ai-gateway/providers/openrouter"},{"title":"Use Google Gemini with the AI Gateway","sidebarTitle":"Google","href":"/ai-gateway/providers/google"},{"title":"Use Groq with the AI Gateway","sidebarTitle":"Groq","href":"/ai-gateway/providers/groq"},{"title":"Use DeepSeek with the AI Gateway","sidebarTitle":"DeepSeek","href":"/ai-gateway/providers/deepseek"},{"title":"Use xAI with the AI Gateway","sidebarTitle":"xAI","href":"/ai-gateway/providers/xai"},{"title":"Use Mistral AI with the AI Gateway","sidebarTitle":"Mistral AI","href":"/ai-gateway/providers/mistral"},{"title":"Use Moonshot AI with the AI Gateway","sidebarTitle":"Moonshot AI","href":"/ai-gateway/providers/moonshotai"},{"title":"Use Z.ai with the AI Gateway","sidebarTitle":"Z.ai","href":"/ai-gateway/providers/z-ai"},{"title":"Use QwenCloud with the AI Gateway","sidebarTitle":"QwenCloud","href":"/ai-gateway/providers/qwencloud"},{"title":"Use MiniMax with the AI Gateway","sidebarTitle":"MiniMax","href":"/ai-gateway/providers/minimax"},{"title":"Use Tencent TokenHub with the AI Gateway","sidebarTitle":"Tencent TokenHub","href":"/ai-gateway/providers/tokenhub"},{"title":"Use Typesafe AI with the AI Gateway","sidebarTitle":"Typesafe AI","href":"/ai-gateway/providers/typesafeai"},{"title":"Use Liquid AI with the AI Gateway","sidebarTitle":"Liquid AI","href":"/ai-gateway/providers/liquid"},{"title":"Use LLM API with the AI Gateway","sidebarTitle":"LLM API","href":"/ai-gateway/providers/llmapi"},{"title":"Use Hyperbolic with the AI Gateway","sidebarTitle":"Hyperbolic","href":"/ai-gateway/providers/hyperbolic"},{"title":"Use InceptionLabs with the AI Gateway","sidebarTitle":"InceptionLabs","href":"/ai-gateway/providers/inceptionlabs"},{"title":"Use Inference.net with the AI Gateway","sidebarTitle":"Inference.net","href":"/ai-gateway/providers/inference-net"},{"title":"Connect Ollama to the AI Gateway","sidebarTitle":"Ollama","href":"/ai-gateway/custom-providers/ollama"},{"title":"Connect LM Studio to the AI Gateway","sidebarTitle":"LM Studio","href":"/ai-gateway/custom-providers/lm-studio"},{"title":"Connect vLLM to the AI Gateway","sidebarTitle":"vLLM","href":"/ai-gateway/custom-providers/vllm"},{"title":"Connect Azure OpenAI to the AI Gateway","sidebarTitle":"Azure OpenAI","href":"/ai-gateway/custom-providers/azure-openai"}]},{"group":"SDKs","pages":[{"title":"Connect SDKs to the AI Gateway","sidebarTitle":"Overview","href":"/ai-gateway/sdks/index"},{"title":"Use the OpenAI SDK with the AI Gateway","sidebarTitle":"OpenAI SDK","href":"/ai-gateway/sdks/openai"},{"title":"Use the Anthropic SDK with the AI Gateway","sidebarTitle":"Anthropic SDK","href":"/ai-gateway/sdks/anthropic"},{"title":"Google Gen AI SDK","href":"/ai-gateway/sdks/google"},{"title":"Vercel AI SDK","href":"/ai-gateway/sdks/vercel-ai-sdk"},{"title":"Use TanStack AI with the AI Gateway","sidebarTitle":"TanStack AI","href":"/ai-gateway/sdks/tanstack-ai"},{"title":"Use LangChain with the AI Gateway","sidebarTitle":"LangChain","href":"/ai-gateway/sdks/langchain"},{"title":"Use Other SDKs with the AI Gateway","sidebarTitle":"Other SDKs","href":"/ai-gateway/sdks/other"}]},{"group":"Agents","pages":[{"title":"Connect Coding Agents to the AI Gateway","sidebarTitle":"Overview","href":"/ai-gateway/agents/index"},{"title":"Use Claude Code with the AI Gateway","sidebarTitle":"Claude Code","href":"/ai-gateway/agents/claude-code"},{"title":"Use Codex with the AI Gateway","sidebarTitle":"Codex","href":"/ai-gateway/agents/codex"},{"title":"Use Cursor with the AI Gateway","sidebarTitle":"Cursor","href":"/ai-gateway/agents/cursor"},{"title":"Use Hermes Agent with the AI Gateway","sidebarTitle":"Hermes","href":"/ai-gateway/agents/hermes"},{"title":"Use OpenCode with the AI Gateway","sidebarTitle":"OpenCode","href":"/ai-gateway/agents/opencode"},{"title":"Use the Pi Coding Agent with the AI Gateway","sidebarTitle":"Pi","href":"/ai-gateway/agents/pi"},{"title":"Use Zed with the AI Gateway","sidebarTitle":"Zed","href":"/ai-gateway/agents/zed"},{"title":"Use Other Coding Agents with the AI Gateway","sidebarTitle":"Other Agents","href":"/ai-gateway/agents/other"}]},{"group":"Guides","pages":[{"title":"Compare Models in the Playground","href":"/ai-gateway/guides/playground"},{"title":"Choose How to Reach Providers","href":"/ai-gateway/guides/configuring-providers"},{"title":"Pay with Credits","href":"/ai-gateway/guides/pay-with-credits"},{"title":"Bring Your Own Provider Key","href":"/ai-gateway/guides/attaching-provider-keys"},{"title":"Use a Model You Run Yourself","href":"/ai-gateway/guides/use-a-model-you-run-yourself"},{"title":"Choose a Model","href":"/ai-gateway/guides/model-selection-strategies"},{"title":"Automatic Model Selection","href":"/ai-gateway/guides/automatic-model-selection"},{"title":"Configure Fallback Models","href":"/ai-gateway/guides/configure-fallback-models"},{"title":"Use Virtual Models","sidebarTitle":"Virtual Models","href":"/ai-gateway/guides/virtual-models"},{"title":"Upload and Use Files","sidebarTitle":"Files","href":"/ai-gateway/guides/files"},{"title":"Typed-Question APIs","sidebarTitle":"Decisions and System One","href":"/ai-gateway/guides/decisions-and-system-one"},{"title":"Restrict Providers and Models","href":"/ai-gateway/guides/restrict-providers-and-models"},{"title":"Set Up an Access Key Configuration","href":"/ai-gateway/guides/access-key-configurations"},{"title":"Guard Agent Tool Calls with Firewall","sidebarTitle":"Guard Agent Tool Calls","href":"/ai-gateway/guides/firewall-policies"},{"title":"Configure Provider Key Failover","href":"/ai-gateway/guides/key-selection-failover"},{"title":"Secure Your Gateway","href":"/ai-gateway/guides/securing-endpoints"},{"title":"Configure Account Settings","href":"/ai-gateway/guides/account-settings"},{"title":"Handle Gateway Errors","href":"/ai-gateway/guides/error-handling"},{"title":"Debug Failed Requests","href":"/ai-gateway/guides/debugging"},{"title":"Find Out Why a Request Failed Over","sidebarTitle":"Why a Request Failed Over","href":"/ai-gateway/guides/why-a-request-failed-over"}]},{"group":"Observability","pages":[{"title":"Observability Overview","sidebarTitle":"Overview","href":"/ai-gateway/observability/index"}]},{"group":"Examples","pages":[{"title":"Multi-Provider Failover","href":"/ai-gateway/examples/multi-provider-failover"},{"title":"Multi-Key Failover","href":"/ai-gateway/examples/multi-key-failover"},{"title":"Restrict Models and Providers","href":"/ai-gateway/examples/model-filtering"},{"title":"Securely Put Your Self-Hosted n8n Workflows Online","sidebarTitle":"Grant Access to Your n8n Workflows","href":"/gateway/examples/n8n"}]},{"group":"Reference","pages":[{"title":"Error Codes Reference","href":"/ai-gateway/reference/error-codes"},{"title":"Firewall Reference","sidebarTitle":"Firewall","href":"/ai-gateway/reference/firewall"}]},{"group":"API Reference","pages":[{"title":"AI Gateway API","sidebarTitle":"Overview","href":"/ai-gateway/api-reference/overview"},{"group":"Access Keys","pages":[{"openapi":"openapi/ai-gateway.yaml GET /access-keys","title":"List AI Gateway Access Keys","href":"/ai-gateway/api-reference/access-keys/list"},{"openapi":"openapi/ai-gateway.yaml POST /access-keys","title":"Create an AI Gateway Access Key","href":"/ai-gateway/api-reference/access-keys/create"},{"openapi":"openapi/ai-gateway.yaml GET /access-keys/{id}","title":"Get an AI Gateway Access Key","href":"/ai-gateway/api-reference/access-keys/get"},{"openapi":"openapi/ai-gateway.yaml PATCH /access-keys/{id}","title":"Update an AI Gateway Access Key","href":"/ai-gateway/api-reference/access-keys/update"},{"openapi":"openapi/ai-gateway.yaml DELETE /access-keys/{id}","title":"Delete an AI Gateway Access Key","href":"/ai-gateway/api-reference/access-keys/delete"}]},{"group":"Access Key Configurations","pages":[{"openapi":"openapi/ai-gateway.yaml GET /access-key-configurations","title":"List AI Gateway Access Key Configurations","href":"/ai-gateway/api-reference/access-key-configurations/list"},{"openapi":"openapi/ai-gateway.yaml POST /access-key-configurations","title":"Create an AI Gateway Access Key Configuration","href":"/ai-gateway/api-reference/access-key-configurations/create"},{"openapi":"openapi/ai-gateway.yaml GET /access-key-configurations/{id}","title":"Get an AI Gateway Access Key Configuration","href":"/ai-gateway/api-reference/access-key-configurations/get"},{"openapi":"openapi/ai-gateway.yaml PATCH /access-key-configurations/{id}","title":"Update an AI Gateway Access Key Configuration","href":"/ai-gateway/api-reference/access-key-configurations/update"},{"openapi":"openapi/ai-gateway.yaml DELETE /access-key-configurations/{id}","title":"Delete an AI Gateway Access Key Configuration","href":"/ai-gateway/api-reference/access-key-configurations/delete"}]},{"group":"Firewall Policies","pages":[{"openapi":"openapi/ai-gateway.yaml GET /firewall-policies","title":"List AI Gateway Firewall Policies","href":"/ai-gateway/api-reference/firewall-policies/list"},{"openapi":"openapi/ai-gateway.yaml POST /firewall-policies","description":"Create an AI Gateway Firewall policy, a named set of rules that check requests and tool calls.","title":"Create an AI Gateway Firewall Policy","href":"/ai-gateway/api-reference/firewall-policies/create"},{"openapi":"openapi/ai-gateway.yaml GET /firewall-policies/{id}","title":"Get an AI Gateway Firewall Policy","href":"/ai-gateway/api-reference/firewall-policies/get"},{"openapi":"openapi/ai-gateway.yaml PATCH /firewall-policies/{id}","description":"Apply a partial update to an AI Gateway Firewall policy.","title":"Update an AI Gateway Firewall Policy","href":"/ai-gateway/api-reference/firewall-policies/update"},{"openapi":"openapi/ai-gateway.yaml DELETE /firewall-policies/{id}","title":"Delete an AI Gateway Firewall Policy","href":"/ai-gateway/api-reference/firewall-policies/delete"}]},{"group":"Provider Keys","pages":[{"openapi":"openapi/ai-gateway.yaml GET /provider-keys","title":"List AI Gateway Provider Keys","href":"/ai-gateway/api-reference/provider-keys/list"},{"openapi":"openapi/ai-gateway.yaml POST /provider-keys","title":"Create an AI Gateway Provider Key","href":"/ai-gateway/api-reference/provider-keys/create"},{"openapi":"openapi/ai-gateway.yaml GET /provider-keys/{id}","title":"Get an AI Gateway Provider Key","href":"/ai-gateway/api-reference/provider-keys/get"},{"openapi":"openapi/ai-gateway.yaml PATCH /provider-keys/{id}","title":"Update an AI Gateway Provider Key","href":"/ai-gateway/api-reference/provider-keys/update"},{"openapi":"openapi/ai-gateway.yaml DELETE /provider-keys/{id}","title":"Delete an AI Gateway Provider Key","href":"/ai-gateway/api-reference/provider-keys/delete"},{"openapi":"openapi/ai-gateway.yaml POST /provider-keys/{id}/rotate","title":"Rotate an AI Gateway Provider Key","href":"/ai-gateway/api-reference/provider-keys/rotate"}]},{"group":"Providers","pages":[{"openapi":"openapi/ai-gateway.yaml GET /providers","title":"List AI Gateway Providers","href":"/ai-gateway/api-reference/providers/list"},{"openapi":"openapi/ai-gateway.yaml POST /providers","title":"Create an AI Gateway Provider","href":"/ai-gateway/api-reference/providers/create"},{"openapi":"openapi/ai-gateway.yaml GET /providers/{id}","title":"Get an AI Gateway Provider","href":"/ai-gateway/api-reference/providers/get"},{"openapi":"openapi/ai-gateway.yaml PATCH /providers/{id}","title":"Update an AI Gateway Provider","href":"/ai-gateway/api-reference/providers/update"},{"openapi":"openapi/ai-gateway.yaml DELETE /providers/{id}","title":"Delete an AI Gateway Provider","href":"/ai-gateway/api-reference/providers/delete"}]},{"group":"API Keys","pages":[{"openapi":"openapi/ai-gateway.yaml GET /api-keys","title":"List AI Gateway API Keys","href":"/ai-gateway/api-reference/api-keys/list"},{"openapi":"openapi/ai-gateway.yaml POST /api-keys","title":"Create an AI Gateway API Key","href":"/ai-gateway/api-reference/api-keys/create"},{"openapi":"openapi/ai-gateway.yaml GET /api-keys/{id}","title":"Get an AI Gateway API Key","href":"/ai-gateway/api-reference/api-keys/get"},{"openapi":"openapi/ai-gateway.yaml PATCH /api-keys/{id}","title":"Update an AI Gateway API Key","href":"/ai-gateway/api-reference/api-keys/update"},{"openapi":"openapi/ai-gateway.yaml DELETE /api-keys/{id}","title":"Delete an AI Gateway API Key","href":"/ai-gateway/api-reference/api-keys/delete"}]},{"group":"Credits","pages":[{"openapi":"openapi/ai-gateway.yaml GET /credits/balance","title":"Get Credit Balance","href":"/ai-gateway/api-reference/credits/balance"},{"openapi":"openapi/ai-gateway.yaml GET /credits/transactions","title":"List Credit Transactions","href":"/ai-gateway/api-reference/credits/transactions"},{"openapi":"openapi/ai-gateway.yaml POST /credits/checkout-session","title":"Create a Stripe Checkout Session","href":"/ai-gateway/api-reference/credits/checkout-session"},{"openapi":"openapi/ai-gateway.yaml POST /credits/purchases","title":"Start a Credit Purchase","href":"/ai-gateway/api-reference/credits/purchase-create"},{"openapi":"openapi/ai-gateway.yaml GET /credits/purchases/{id}","title":"Get a Credit Purchase","href":"/ai-gateway/api-reference/credits/purchase-get"}]},{"group":"Models","pages":[{"openapi":"openapi/ai-gateway.yaml GET /v1/models","title":"List Available AI Gateway Models","href":"/ai-gateway/api-reference/models/list"}]},{"group":"Virtual Models","pages":[{"openapi":"openapi/ai-gateway.yaml GET /virtual-models","title":"List AI Gateway Virtual Models","href":"/ai-gateway/api-reference/virtual-models/list"},{"openapi":"openapi/ai-gateway.yaml POST /virtual-models","title":"Create an AI Gateway Virtual Model","href":"/ai-gateway/api-reference/virtual-models/create"},{"openapi":"openapi/ai-gateway.yaml GET /virtual-models/{id}","title":"Get an AI Gateway Virtual Model","href":"/ai-gateway/api-reference/virtual-models/get"},{"openapi":"openapi/ai-gateway.yaml PATCH /virtual-models/{id}","title":"Update an AI Gateway Virtual Model","href":"/ai-gateway/api-reference/virtual-models/update"},{"openapi":"openapi/ai-gateway.yaml DELETE /virtual-models/{id}","title":"Delete an AI Gateway Virtual Model","href":"/ai-gateway/api-reference/virtual-models/delete"}]},{"group":"Configuration","pages":[{"openapi":"openapi/ai-gateway.yaml GET /gateway-config","title":"Get AI Gateway Configuration","href":"/ai-gateway/api-reference/gateway-config/get"},{"openapi":"openapi/ai-gateway.yaml PATCH /gateway-config","title":"Update AI Gateway Configuration","href":"/ai-gateway/api-reference/gateway-config/update"}]},{"group":"Usage","pages":[{"openapi":"openapi/ai-gateway.yaml GET /usage","title":"List AI Gateway Usage Events","href":"/ai-gateway/api-reference/usage/list"},{"openapi":"openapi/ai-gateway.yaml GET /usage/overview","title":"AI Gateway Usage Overview","href":"/ai-gateway/api-reference/usage/overview"},{"openapi":"openapi/ai-gateway.yaml GET /usage/requests/{requestId}","title":"Get the Upstream Attempts of One AI Gateway Request","href":"/ai-gateway/api-reference/usage/request-attempts"}]}]}]}]},{"tab":"Share Localhost","pages":[{"title":"Share Localhost","href":"/share-localhost/overview"}]},{"tab":"For AI Agents","pages":[{"title":"For AI Agents","href":"/for-agents"}]},{"tab":"Integrations","pages":[{"title":"Integrations","href":"/integrations"}]},{"tab":"Reference","menu":[{"item":"Platform API","anchors":[{"anchor":"Reference","icon":"book-open","pages":[{"title":"Reference","href":"/api"}],"groups":[{"group":"Reference","pages":[{"title":"Reference","href":"/api-reference/abusereports/create"}]}]}]},{"item":"Agent API","anchors":[{"anchor":"Reference","icon":"book-open","pages":[{"title":"Reference","href":"/gateway/agent/api"}]}]},{"item":"CLI","anchors":[{"anchor":"Reference","icon":"book-open","pages":[{"title":"Reference","href":"/gateway/agent/cli"}]}]},{"item":"Agent Config File","anchors":[{"anchor":"Reference","icon":"book-open","pages":[{"title":"Reference","href":"/gateway/agent/config"}]}]},{"item":"SDKs","anchors":[{"anchor":"Reference","icon":"book-open","pages":[{"title":"Reference","href":"/agent-sdks"}]}]},{"item":"Errors","anchors":[{"anchor":"Reference","icon":"book-open","pages":[{"title":"Reference","href":"/errors"}]}]},{"item":"Changelogs","anchors":[{"anchor":"Reference","icon":"book-open","pages":[{"title":"Reference","href":"/gateway/agent/changelog"}]}]}],"pages":[{"title":"Reference","href":"/api"}]},{"tab":"Pricing","pages":[{"title":"Pricing","href":"/pricing-limits"}]}]},"basePath":"","title":"Get an AI Gateway Firewall Policy - ngrok documentation","buildId":"dpl_eBQnj73Q1gDRVNqNsS3Yt9yPkTEW","deploymentId":"dpl_eBQnj73Q1gDRVNqNsS3Yt9yPkTEW","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-2eIonhLG.js","utils-Bu4fD7MA.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-Dm0-6XnC.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-75RmY7ol.js","snippetPresets-CNg6Wglv.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","conditional-requirements-CFM0id0Q.js","ApiExamples-jSmPd6im.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-CVrruHci.js","shallow-CebqfoNv.js","getApiPlaygroundDisplay-D2ytr59n.js","CodeSnippet-BVCHzyUV.js","CodeSnippets-C72k541i.js","Page-eOxp8mNS.js","getPastedJson-B0F9LVjA.js","icon-CGCgkOos.js","MethodPill-WJKpFOMR.js","DuplicateIcon-Dv5CTyCp.js","createIcon-B8Xc2y5i.js","DynamicMarkdown-CAm7Qzqi.js","SectionHeading-ACCZHDy_.js","axios-vUo_bRtp.js","Markdown-CHuW7TET.js","clsx-BhkiUDTS.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-CNS0fiKw.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-D2_8dbQZ.js"]}