Skip to main content
The TypeScript SDK and docs are currently in beta. Report issues on GitHub.

Example Usage

import { CreateGuardrailRequest } from "@openrouter/sdk/models";

let value: CreateGuardrailRequest = {
  name: "My New Guardrail",
};

Fields

FieldTypeRequiredDescriptionExample
allowedModelsstring[]:heavy_minus_sign:Array of model identifiers (slug or canonical_slug accepted)[
“openai/gpt-5.2”,
“anthropic/claude-4.5-opus-20251124”,
“deepseek/deepseek-r1-0528:free”
]
allowedProvidersstring[]:heavy_minus_sign:List of allowed provider IDs[
“openai”,
“anthropic”,
“deepseek”
]
contentFilterBuiltinsmodels.ContentFilterBuiltinEntryInput[]:heavy_minus_sign:Builtin content filters to apply. The “flag” action is only supported for “regex-prompt-injection”; PII slugs (email, phone, ssn, credit-card, ip-address, person-name, address) accept “block” or “redact” only.[
{"action": "block","slug": "regex-prompt-injection"}
]
contentFiltersmodels.ContentFilterEntry[]:heavy_minus_sign:Custom regex content filters to apply to request messages[
{"action": "redact","label": "[API_KEY]","pattern": "\\b(sk-[a-zA-Z0-9]{48})\b”
}
]
descriptionstring:heavy_minus_sign:Description of the guardrailA guardrail for limiting API usage
enforceZdrboolean: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, 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.
false
enforceZdrAnthropicboolean:heavy_minus_sign:Whether to enforce zero data retention for Anthropic models. Falls back to enforce_zdr when not provided.false
enforceZdrGoogleboolean:heavy_minus_sign:Whether to enforce zero data retention for Google models. Falls back to enforce_zdr when not provided.false
enforceZdrOpenaiboolean:heavy_minus_sign:Whether to enforce zero data retention for OpenAI models. Falls back to enforce_zdr when not provided.false
enforceZdrOtherboolean:heavy_minus_sign:Whether to enforce zero data retention for models that are not from Anthropic, OpenAI, or Google. Falls back to enforce_zdr when not provided.false
ignoredModelsstring[]:heavy_minus_sign:Array of model identifiers to exclude from routing (slug or canonical_slug accepted)[
“openai/gpt-4o-mini”
]
ignoredProvidersstring[]:heavy_minus_sign:List of provider IDs to exclude from routing[
“azure”
]
limitUsdnumber:heavy_minus_sign:Spending limit in USD50
namestring:heavy_check_mark:Name for the new guardrailMy New Guardrail
resetIntervalmodels.GuardrailInterval:heavy_minus_sign:Interval at which the limit resets (daily, weekly, monthly)monthly
workspaceIdstring:heavy_minus_sign:The workspace to create the guardrail in. Defaults to the default workspace if not provided.0df9e665-d932-5740-b2c7-b52af166bc11