> ## 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. # ModerationGuardrailPolicyDetail ## Example Usage ```typescript theme={null} import { ModerationGuardrailPolicyDetail } from "@openrouter/sdk/models"; let value: ModerationGuardrailPolicyDetail = { apiKeyHashes: [ "c56454edb818d6b14bc0d61c46025f1450b0f4012d12304ab40aacb519fcbc93", ], config: {}, id: "550e8400-e29b-41d4-a716-446655440000", memberIds: [ "user_2abcDEFghiJKLmnoPQRstu", ], name: "Engineering monthly budget", optedOutApiKeyHashes: [ "c56454edb818d6b14bc0d61c46025f1450b0f4012d12304ab40aacb519fcbc93", ], overriddenApiKeyHashes: [ "c56454edb818d6b14bc0d61c46025f1450b0f4012d12304ab40aacb519fcbc93", ], policyType: "moderation", updatedAt: "1735659629026", }; ``` ## Fields | Field | Type | Required | Description | Example | | - | - | - | - | - | | `apiKeyHashes` | *string*\[] | ✔️ | API key hashes | \[ "c56454edb818d6b14bc0d61c46025f1450b0f4012d12304ab40aacb519fcbc93" ] | | `config` | [models.GuardrailModerationPolicyConfig](../models/guardrailmoderationpolicyconfig.mdx) | ✔️ | N/A | \{ "content\_filter\_builtins": \[ \{ "action": "block", "slug": "secrets" } ] } | | `id` | *string* | ✔️ | Policy ID | 550e8400-e29b-41d4-a716-446655440000 | | `isAccountPolicy` | *boolean* | ➖ | Whether this is an account-owned policy rather than a workspace policy | | | `isWorkspaceDefault` | *boolean* | ➖ | N/A | | | `memberIds` | *string*\[] | ✔️ | Organization member user IDs | \[ "user\_2abcDEFghiJKLmnoPQRstu" ] | | `name` | *string* | ✔️ | Policy name | Engineering monthly budget | | `optedOutApiKeyHashes` | *string*\[] | ✔️ | API key hashes | \[ "c56454edb818d6b14bc0d61c46025f1450b0f4012d12304ab40aacb519fcbc93" ] | | `optedOutMemberIds` | *string*\[] | ➖ | Organization member user IDs | \[ "user\_2abcDEFghiJKLmnoPQRstu" ] | | `overriddenApiKeyHashes` | *string*\[] | ✔️ | API keys that have a different policy of this type assigned directly | \[ "c56454edb818d6b14bc0d61c46025f1450b0f4012d12304ab40aacb519fcbc93" ] | | `overriddenMemberIds` | *string*\[] | ➖ | Members that have a different policy of this type assigned directly | \[ "user\_2abcDEFghiJKLmnoPQRstu" ] | | `policyType` | [models.ModerationGuardrailPolicyDetailPolicyType](../models/moderationguardrailpolicydetailpolicytype.mdx) | ✔️ | N/A | | | `reference` | [models.ModerationGuardrailPolicyDetailReference](../models/moderationguardrailpolicydetailreference.mdx) | ➖ | `legacy_mapping` when the policy is synced from a v1 guardrail, `account_default` when it is an account-wide default, otherwise `null` | | | `replacesLegacyDefault` | *boolean* | ➖ | Whether this workspace copy replaced a v1 workspace default guardrail that still exists; it cannot be deleted | | | `updatedAt` | *string* | ✔️ | N/A | |