> ## 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. # UpdateModerationGuardrailPolicyRequest ## Example Usage ```typescript theme={null} import { UpdateModerationGuardrailPolicyRequest } from "@openrouter/sdk/models"; let value: UpdateModerationGuardrailPolicyRequest = { config: {}, name: "Engineering monthly budget", }; ``` ## Fields | Field | Type | Required | Description | Example | | - | - | - | - | - | | `apiKeyHashes` | *string*\[] | ➖ | Complete new list of assigned API keys. Send together with `member_ids`, or omit both to keep the stored assignments. | \[ "c56454edb818d6b14bc0d61c46025f1450b0f4012d12304ab40aacb519fcbc93" ] | | `config` | [models.GuardrailModerationPolicyConfig](../models/guardrailmoderationpolicyconfig.mdx) | ✔️ | N/A | \{ "content\_filter\_builtins": \[ \{ "action": "block", "slug": "secrets" } ] } | | `isWorkspaceDefault` | *boolean* | ➖ | Omit to keep the stored default status; `false` unsets the policy as the workspace default. | | | `memberIds` | *string*\[] | ➖ | Complete new list of assigned members. Send together with `api_key_hashes`, or omit both to keep the stored assignments. | \[ "user\_2abcDEFghiJKLmnoPQRstu" ] | | `name` | *string* | ✔️ | Policy name | Engineering monthly budget | | `optedOutApiKeyHashes` | *string*\[] | ➖ | API key hashes | \[ "c56454edb818d6b14bc0d61c46025f1450b0f4012d12304ab40aacb519fcbc93" ] | | `optedOutMemberIds` | *string*\[] | ➖ | Organization member user IDs | \[ "user\_2abcDEFghiJKLmnoPQRstu" ] | | `workspaceId` | *string* | ➖ | Workspace the policy belongs to. Required for an organization management key; a workspace-scoped key defaults to its own workspace and gets 403 for any other. | 0df9e665-d932-5740-b2c7-b52af166bc11 |