import * as z from "zod/v4"; import { ContentFilterBuiltinEntryInput, ContentFilterBuiltinEntryInput$Outbound } from "./contentfilterbuiltinentryinput.js"; import { ContentFilterEntry, ContentFilterEntry$Outbound } from "./contentfilterentry.js"; import { GuardrailDataRegion } from "./guardraildataregion.js"; import { GuardrailInterval } from "./guardrailinterval.js"; export type UpdateGuardrailRequest = { /** * Data regions through which requests governed by this guardrail must arrive. `global` is https://openrouter.ai, `europe` is https://eu.openrouter.ai, and `us` is 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. */ allowedDataRegions?: Array | null | undefined; /** * Array of model identifiers (slug or canonical_slug accepted) */ allowedModels?: Array | null | undefined; /** * New list of allowed provider IDs */ allowedProviders?: Array | null | undefined; /** * Builtin content filters to apply. Set to null to remove. Every builtin slug supports "block", "redact", and the detect-only "flag" action. */ contentFilterBuiltins?: Array | null | undefined; /** * Custom regex content filters to apply. Set to null to remove. */ contentFilters?: Array | null | undefined; /** * New description for the guardrail */ description?: string | null | undefined; /** * Whether this guardrail allows free endpoints that publish prompts. */ enableFreeModelPublication?: boolean | null | undefined; /** * Whether this guardrail allows free endpoints that train on request data. */ enableFreeModelTraining?: boolean | null | undefined; /** * Whether this guardrail allows paid endpoints that train on request data. */ enablePaidModelTraining?: boolean | null | undefined; /** * 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. * * @deprecated field: This will be removed in a future release, please migrate away from it as soon as possible. */ enforceZdr?: boolean | null | undefined; /** * Whether to enforce zero data retention for Anthropic models. Falls back to enforce_zdr when not provided. */ enforceZdrAnthropic?: boolean | null | undefined; /** * Whether to enforce zero data retention for Google models. Falls back to enforce_zdr when not provided. */ enforceZdrGoogle?: boolean | null | undefined; /** * Whether to enforce zero data retention for OpenAI models. Falls back to enforce_zdr when not provided. */ enforceZdrOpenai?: boolean | null | undefined; /** * 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. */ enforceZdrOther?: boolean | null | undefined; /** * Whether to enforce zero data retention for xAI models. Falls back to enforce_zdr when not provided. */ enforceZdrXai?: boolean | null | undefined; /** * Array of model identifiers to exclude from routing (slug or canonical_slug accepted) */ ignoredModels?: Array | null | undefined; /** * List of provider IDs to exclude from routing */ ignoredProviders?: Array | null | undefined; /** * 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. */ includeByokInBudgets?: boolean | undefined; /** * New spending limit in USD */ limitUsd?: number | null | undefined; /** * New name for the guardrail */ name?: string | undefined; /** * Interval at which the limit resets (daily, weekly, monthly) */ resetInterval?: GuardrailInterval | null | undefined; }; /** @internal */ export type UpdateGuardrailRequest$Outbound = { allowed_data_regions?: Array | null | undefined; allowed_models?: Array | null | undefined; allowed_providers?: Array | null | undefined; content_filter_builtins?: Array | null | undefined; content_filters?: Array | null | undefined; description?: string | null | undefined; enable_free_model_publication?: boolean | null | undefined; enable_free_model_training?: boolean | null | undefined; enable_paid_model_training?: boolean | null | undefined; enforce_zdr?: boolean | null | undefined; enforce_zdr_anthropic?: boolean | null | undefined; enforce_zdr_google?: boolean | null | undefined; enforce_zdr_openai?: boolean | null | undefined; enforce_zdr_other?: boolean | null | undefined; enforce_zdr_xai?: boolean | null | undefined; ignored_models?: Array | null | undefined; ignored_providers?: Array | null | undefined; include_byok_in_budgets?: boolean | undefined; limit_usd?: number | null | undefined; name?: string | undefined; reset_interval?: string | null | undefined; }; /** @internal */ export declare const UpdateGuardrailRequest$outboundSchema: z.ZodType; export declare function updateGuardrailRequestToJSON(updateGuardrailRequest: UpdateGuardrailRequest): string; //# sourceMappingURL=updateguardrailrequest.d.ts.map