> ## Documentation Index
> Fetch the complete documentation index at: https://veryfront.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Update account inference policy

> Update the models an account allows and denies and its default model, replacing each key sent; returns the policy.

`veryfront__update_account_inference_policy`

Requires account.settings.manage.

## Access

No external-service connection is required. Use a Veryfront credential with access to the requested resources.

**Call type:** Can change resources.

## Arguments

| Field | Type | Required | Description and constraints |
| - | - | - | - |
| `models` | `object` | No | Models the account allows and denies. Every project of the account can only narrow them. |
| `default_model` | `string or null` | No | Default model of projects that set none. It must be allowed by the policy. Null uses the built-in default. Omit to keep the stored value. |
| `account_id` | `string` | Yes | Provide the account id. Format: `uuid`. |

## Example request

Send this JSON-RPC request through an initialized MCP client. Replace sample identifiers and values before calling the tool. See [MCP client setup](https://veryfront.com/docs/cloud/getting-started/connect-mcp.md).

```json title="request.json" theme={null}
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "veryfront__update_account_inference_policy",
    "arguments": {
      "account_id": "00000000-0000-4000-8000-000000000000"
    }
  }
}
```

## Result

The published output shape is summarized below. Inspect both the MCP response content and `isError` when handling a call.

| Field | Type | Required | Description and constraints |
| - | - | - | - |
| `account_id` | `string` | Yes | The account id returned by the tool. Format: `uuid`. |
| `models` | `object` | Yes | Models the account allows and denies. Every project of the account inherits them and can only narrow them. |
| `default_model` | `string or null` | Yes | Default model ID. Null uses the built-in default, mistral/mistral-small-2503. A project default wins over the account default. |

## Full schemas

```json title="input-schema.json" theme={null}
{
  "type": "object",
  "properties": {
    "models": {
      "type": "object",
      "properties": {
        "allowed": {
          "anyOf": [
            {
              "type": "array",
              "items": {
                "type": "string",
                "minLength": 1,
                "maxLength": 200,
                "pattern": "^[a-z0-9][a-z0-9._/-]*$",
                "description": "Model ID returned by list_models. Known catalog aliases are normalized to canonical IDs. Policy IDs use letters, digits, dots, underscores, slashes, and hyphens; arbitrary provider model strings are not accepted."
              },
              "maxItems": 500,
              "description": "Provide one or more allowed values."
            },
            {
              "type": "null",
              "description": "Provide the allowed."
            }
          ],
          "description": "Model IDs from list_models the account allows. Null removes the restriction; an empty list allows nothing. Omit to keep the stored list."
        },
        "denied": {
          "$ref": "#/properties/models/properties/allowed/anyOf/0",
          "description": "Model IDs from list_models the account denies. A denial overrides an allowance. Omit to keep the stored list."
        }
      },
      "additionalProperties": false,
      "description": "Models the account allows and denies. Every project of the account can only narrow them."
    },
    "default_model": {
      "anyOf": [
        {
          "$ref": "#/properties/models/properties/allowed/anyOf/0/items",
          "description": "Provide the default model."
        },
        {
          "type": "null",
          "description": "Provide the default model."
        }
      ],
      "description": "Default model of projects that set none. It must be allowed by the policy. Null uses the built-in default. Omit to keep the stored value."
    },
    "account_id": {
      "type": "string",
      "format": "uuid",
      "description": "Provide the account id."
    }
  },
  "required": [
    "account_id"
  ],
  "additionalProperties": false,
  "description": "Update the models an account allows and denies and its default model. Each key sent replaces the stored value. Requires a signed-in account owner or admin. API keys are rejected regardless of their scopes.",
  "$schema": "http://json-schema.org/draft-07/schema#"
}
```

```json title="output-schema.json" theme={null}
{
  "type": "object",
  "properties": {
    "account_id": {
      "type": "string",
      "format": "uuid",
      "description": "The account id returned by the tool."
    },
    "models": {
      "type": "object",
      "properties": {
        "allowed": {
          "anyOf": [
            {
              "type": "array",
              "items": {
                "type": "string",
                "description": "One allowed item returned by the tool."
              },
              "description": "List of allowed returned by the tool."
            },
            {
              "type": "null",
              "description": "The allowed returned by the tool."
            }
          ],
          "description": "Canonical model IDs that may be used. Null means no restriction; an empty list allows nothing."
        },
        "denied": {
          "type": "array",
          "items": {
            "type": "string",
            "description": "One denied item returned by the tool."
          },
          "description": "Canonical model IDs that may not be used. A denial overrides an allowance; an empty list denies nothing."
        }
      },
      "required": [
        "allowed",
        "denied"
      ],
      "additionalProperties": false,
      "description": "Models the account allows and denies. Every project of the account inherits them and can only narrow them."
    },
    "default_model": {
      "type": [
        "string",
        "null"
      ],
      "description": "Default model ID. Null uses the built-in default, mistral/mistral-small-2503. A project default wins over the account default."
    }
  },
  "required": [
    "account_id",
    "models",
    "default_model"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#",
  "description": "Structured result returned by the update_account_inference_policy tool."
}
```

<details>
  <summary>Try this tool</summary>

  Replace sample arguments with values for your project or connected account. Calls run only when you select Run tool.

  MCP tool call

  Call `veryfront__update_account_inference_policy` against the Veryfront MCP endpoint.

  Bearer token or API key

  Arguments (JSON)

  Run this tool with these arguments.

  Run tool

  Output JSON

  <pre />
</details>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.