> ## 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. # ModelAvailabilityGuardrailPolicySummary ## Example Usage ```typescript theme={null} import { ModelAvailabilityGuardrailPolicySummary } from "@openrouter/sdk/models"; let value: ModelAvailabilityGuardrailPolicySummary = { apiKeyCount: 525701, config: {}, id: "550e8400-e29b-41d4-a716-446655440000", memberCount: 912300, name: "Engineering monthly budget", policyType: "model_availability", updatedAt: "1735637427112", }; ``` ## Fields | Field | Type | Required | Description | Example | | - | - | - | - | - | | `apiKeyCount` | *number* | ✔️ | N/A | | | `config` | [models.GuardrailModelAvailabilityPolicyConfig](../models/guardrailmodelavailabilitypolicyconfig.mdx) | ✔️ | N/A | \{ "allowed\_models": \[ "openai/gpt-4o", "anthropic/claude-sonnet-4" ], "allowed\_providers": \[ "openai", "anthropic" ], "enforce\_zdr\_anthropic": true, "enforce\_zdr\_openai": true } | | `id` | *string* | ✔️ | Policy ID | 550e8400-e29b-41d4-a716-446655440000 | | `isLegacyMapped` | *boolean* | ➖ | Whether the policy is kept in sync with a v1 guardrail | | | `isWorkspaceDefault` | *boolean* | ➖ | N/A | | | `legacyGuardrailIds` | *string*\[] | ➖ | IDs of the v1 guardrails this policy was migrated from | | | `memberCount` | *number* | ✔️ | N/A | | | `name` | *string* | ✔️ | Policy name | Engineering monthly budget | | `policyType` | [models.ModelAvailabilityGuardrailPolicySummaryPolicyType](../models/modelavailabilityguardrailpolicysummarypolicytype.mdx) | ✔️ | N/A | | | `replacedLegacyGuardrailIds` | *string*\[] | ➖ | IDs of the v1 guardrails this policy replaced | | | `updatedAt` | *string* | ✔️ | N/A | |