> ## 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.

# UpdateBudgetGuardrailPolicyRequest

## Example Usage

```typescript theme={null}
import { UpdateBudgetGuardrailPolicyRequest } from "@openrouter/sdk/models";

let value: UpdateBudgetGuardrailPolicyRequest = {
  config: {
    includeByokInBudgets: false,
    limitUsd: 200,
    resetInterval: "monthly",
  },
  name: "Engineering monthly budget",
  workspaceId: "0df9e665-d932-5740-b2c7-b52af166bc11",
};
```

## 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.GuardrailBudgetPolicyAuthoringConfig](../models/guardrailbudgetpolicyauthoringconfig.mdx) | ✔️ | N/A | \{ "include\_byok\_in\_budgets": false, "limit\_usd": 200, "reset\_interval": "monthly" } |
| `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 | 0df9e665-d932-5740-b2c7-b52af166bc11 |
