> ## Documentation Index > Fetch the complete documentation index at: https://openrouter.ai/docs/llms.txt > Use this file to discover all available pages before exploring further. # UpdateGuardrailRequest ## Example Usage ```typescript theme={null} import { UpdateGuardrailRequest } from "@openrouter/sdk/models"; let value: UpdateGuardrailRequest = {}; ``` ## Fields | Field | Type | Required | Description | Example | | ---------------------------- | ---------------------------------------------------------------------------------------- | -------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | | `allowedDataRegions` | [models.GuardrailDataRegion](../models/guardraildataregion.mdx)\[] | :heavy\_minus\_sign: | Data regions through which requests governed by this guardrail must arrive. `global` is [https://openrouter.ai](https://openrouter.ai), `europe` is [https://eu.openrouter.ai](https://eu.openrouter.ai), and `us` is [https://us.openrouter.ai](https://us.openrouter.ai). Requests arriving through any other region are rejected. `null` leaves the ingress region unrestricted. When several guardrails apply (workspace default, member, API key), the effective regions are the intersection of every non-null value. An empty array is rejected. | \[
"europe"
] | | `allowedModels` | *string*\[] | :heavy\_minus\_sign: | Array of model identifiers (slug or canonical\_slug accepted) | \[
"openai/gpt-5.2"
] | | `allowedProviders` | *string*\[] | :heavy\_minus\_sign: | New list of allowed provider IDs | \[
"openai",
"anthropic",
"deepseek"
] | | `contentFilterBuiltins` | [models.ContentFilterBuiltinEntryInput](../models/contentfilterbuiltinentryinput.mdx)\[] | :heavy\_minus\_sign: | Builtin content filters to apply. Set to null to remove. Every builtin slug supports "block", "redact", and the detect-only "flag" action. | \[
\{
"action": "block",
"slug": "regex-prompt-injection"
}
] | | `contentFilters` | [models.ContentFilterEntry](../models/contentfilterentry.mdx)\[] | :heavy\_minus\_sign: | Custom regex content filters to apply. Set to null to remove. | null | | `description` | *string* | :heavy\_minus\_sign: | New description for the guardrail | Updated description | | `enableFreeModelPublication` | *boolean* | :heavy\_minus\_sign: | Whether this guardrail allows free endpoints that publish prompts. | false | | `enableFreeModelTraining` | *boolean* | :heavy\_minus\_sign: | Whether this guardrail allows free endpoints that train on request data. | true | | `enablePaidModelTraining` | *boolean* | :heavy\_minus\_sign: | Whether this guardrail allows paid endpoints that train on request data. | true | | ~~`enforceZdr`~~ | *boolean* | :heavy\_minus\_sign: | : warning: \*\* DEPRECATED \*\*: This will be removed in a future release, please migrate away from it as soon as possible.

Deprecated. Use enforce\_zdr\_anthropic, enforce\_zdr\_openai, enforce\_zdr\_google, enforce\_zdr\_xai, and enforce\_zdr\_other instead. When provided, its value is copied into any of those per-provider fields that are not explicitly specified on the request. | true | | `enforceZdrAnthropic` | *boolean* | :heavy\_minus\_sign: | Whether to enforce zero data retention for Anthropic models. Falls back to enforce\_zdr when not provided. | true | | `enforceZdrGoogle` | *boolean* | :heavy\_minus\_sign: | Whether to enforce zero data retention for Google models. Falls back to enforce\_zdr when not provided. | true | | `enforceZdrOpenai` | *boolean* | :heavy\_minus\_sign: | Whether to enforce zero data retention for OpenAI models. Falls back to enforce\_zdr when not provided. | true | | `enforceZdrOther` | *boolean* | :heavy\_minus\_sign: | Whether to enforce zero data retention for models that are not from Anthropic, OpenAI, Google, or xAI. Falls back to enforce\_zdr when not provided. | true | | `enforceZdrXai` | *boolean* | :heavy\_minus\_sign: | Whether to enforce zero data retention for xAI models. Falls back to enforce\_zdr when not provided. | true | | `ignoredModels` | *string*\[] | :heavy\_minus\_sign: | Array of model identifiers to exclude from routing (slug or canonical\_slug accepted) | \[
"openai/gpt-4o-mini"
] | | `ignoredProviders` | *string*\[] | :heavy\_minus\_sign: | List of provider IDs to exclude from routing | \[
"azure"
] | | `includeByokInBudgets` | *boolean* | :heavy\_minus\_sign: | Whether BYOK (bring-your-own-key) inference spend counts toward this guardrail's limit\_usd, in addition to OpenRouter credit spend. Omit to leave unchanged. | true | | `limitUsd` | *number* | :heavy\_minus\_sign: | New spending limit in USD | 75 | | `name` | *string* | :heavy\_minus\_sign: | New name for the guardrail | Updated Guardrail Name | | `resetInterval` | [models.GuardrailInterval](../models/guardrailinterval.mdx) | :heavy\_minus\_sign: | Interval at which the limit resets (daily, weekly, monthly) | monthly |