> ## 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. # UpdateModelAvailabilityGuardrailPolicyRequest ## Example Usage ```typescript theme={null} import { UpdateModelAvailabilityGuardrailPolicyRequest } from "@openrouter/sdk/models"; let value: UpdateModelAvailabilityGuardrailPolicyRequest = { 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.GuardrailModelAvailabilityPolicyAuthoringConfig](../models/guardrailmodelavailabilitypolicyauthoringconfig.mdx) | ✔️ | N/A | \{ "allowed\_models": \[ "openai/gpt-4o", "anthropic/claude-sonnet-4" ], "allowed\_providers": \[ "openai", "anthropic" ], "enforce\_zdr\_anthropic": true, "enforce\_zdr\_openai": true } | | `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 |