veryfront__set_project_inference_policymin_tier=standard is refused until that acceptance exists.
Requires a signed-in project admin; an API key is refused whatever its scopes, because a credential must not be able to widen the policy that contains it.
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 |
|---|---|---|---|
project_reference | string | No | Project ID or slug |
min_tier | string or null | No | Lowest sovereignty tier this project will be served from. Null is served as “eu-resident”: every project is EU-only by default. “standard” is the lowest, admits hosting outside the EU, and is refused here until the project has accepted standard-tier serving via create_project_inference_policy_standard_tier_opt_in; after that it may be set like any other floor. |
min_quantization | string or null | No | Lowest model precision this project will be served at |
allowed_jurisdictions | string[] or null | No | Operator jurisdiction codes for this project (ISO 3166-1 alpha-2). Null removes the constraint; an empty list permits nothing. |
allowed_host_ids | string[] or null | No | Catalog host IDs this project permits. Null removes the constraint; an empty list permits nothing. |
denied_host_ids | string[] or null | No | Catalog host IDs this project refuses. Null or an empty list adds no denials; a denial overrides an allowance. |
allowed_models | string[] or null | No | Canonical model IDs this project permits, from list_models. Null removes the constraint; an empty list permits nothing. |
denied_models | string[] or null | No | Canonical model IDs this project refuses, from list_models. Null or an empty list adds no denials; a denial overrides an allowance. |
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.request.json
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "veryfront__set_project_inference_policy",
"arguments": {}
}
}
Result
The published output shape is summarized below. Inspect both the MCP response content andisError when handling a call.
| Field | Type | Required | Description and constraints |
|---|---|---|---|
project_id | string | Yes | Project identifier associated with this result. |
configured | boolean | Yes | Whether a policy row exists. False means the fields below are defaults. A row that constrains nothing is routed exactly like no row; routing changes begin at the first non-null constraint. |
enforced | boolean | Yes | Whether the gateway can apply this stored policy. True for every readable policy: each stated constraint, the “eu-resident” tier floor included, is enforced. False only when a stored value (a tier or precision) is one this build cannot read, because the gateway then refuses every request for the project instead of applying it. |
min_tier | string or null | Yes | Returns the stored minimum tier: qualified-sovereign, eu-owned, eu-resident, or standard. Null means no stored floor and is served as “eu-resident”: every project is EU-only by default. Unknown values from newer builds remain readable. |
min_quantization | string or null | Yes | Returns the stored minimum precision: bf16, fp16, fp8, nvfp4, fp4, or int4. Null means no stored precision constraint. Unknown values from newer builds remain readable. |
allowed_jurisdictions | string[] or null | Yes | Lists allowed operator jurisdictions as uppercase ISO 3166-1 alpha-2 codes. Null adds no jurisdiction constraint; an empty list permits none. |
allowed_host_ids | string[] or null | Yes | Lists allowed catalog host IDs. Null adds no host allowlist constraint; an empty list permits none. |
denied_host_ids | string[] or null | Yes | Lists denied catalog host IDs. Null or an empty list adds no host denials. Denials override allowances. |
allowed_models | string[] or null | Yes | Lists canonical model IDs the project may use. Null adds no model allowlist constraint; an empty list permits none. |
denied_models | string[] or null | Yes | Lists canonical model IDs the project may not use. Null or an empty list adds no model denials. Denials override allowances. |
standard_tier_opt_in_at | string or null | Yes | Records the standard-tier acceptance timestamp in ISO 8601 format, or null when no acceptance is recorded. |
standard_tier_opt_in_by | string or null | Yes | Records the user ID responsible for acceptance, or null when no actor is recorded. |
standard_tier_opt_in_source | string or null | Yes | How the recorded acceptance was granted: “admin” when a project admin accepted it through this API, “grandfather” when the one-off migration recorded it for inference the project was already running before the default tier floor existed. Null when no acceptance is recorded. |
allow_non_eu_hosting | boolean | Yes | Whether this project has opted in to non-EU hosting: the standard-tier opt-in is recorded (create_project_inference_policy_standard_tier_opt_in) and min_tier is “standard”, which drops the default “eu-resident” floor. False by default: a project is EU-only, and a min_tier of null is served as “eu-resident”. True does not mean the project is served outside the EU: its other constraints (for example allowed_jurisdictions or allowed_host_ids) may still restrict serving to the EU. Read-only; derived. |
created_at | string or null | Yes | Records policy creation in ISO 8601 format, or null when no policy row exists. |
updated_at | string or null | Yes | Records the last policy update in ISO 8601 format, or null when no policy row exists. |
updated_by | string or null | Yes | Records the user ID responsible for the last policy update, or null when no actor is recorded. |
Full schemas
{
"type": "object",
"properties": {
"project_reference": {
"type": "string",
"description": "Project ID or slug"
},
"min_tier": {
"anyOf": [
{
"type": "string",
"enum": [
"qualified-sovereign",
"eu-owned",
"eu-resident",
"standard"
],
"description": "Provide the min tier."
},
{
"type": "null",
"description": "Provide the min tier."
}
],
"description": "Lowest sovereignty tier this project will be served from. Null is served as \"eu-resident\": every project is EU-only by default. \"standard\" is the lowest, admits hosting outside the EU, and is refused here until the project has accepted standard-tier serving via create_project_inference_policy_standard_tier_opt_in; after that it may be set like any other floor."
},
"min_quantization": {
"anyOf": [
{
"type": "string",
"enum": [
"bf16",
"fp16",
"fp8",
"nvfp4",
"fp4",
"int4"
],
"description": "Provide the min quantization."
},
{
"type": "null",
"description": "Provide the min quantization."
}
],
"description": "Lowest model precision this project will be served at"
},
"allowed_jurisdictions": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string",
"pattern": "^[A-Z]{2}$",
"description": "One allowed jurisdiction item supplied to the tool."
},
"maxItems": 500,
"description": "Operator jurisdiction codes for this project (ISO 3166-1 alpha-2). Null removes the constraint; an empty list permits nothing."
},
{
"type": "null",
"description": "Provide the allowed jurisdictions."
}
],
"description": "Operator jurisdiction codes for this project (ISO 3166-1 alpha-2). Null removes the constraint; an empty list permits nothing."
},
"allowed_host_ids": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"pattern": "^[a-z0-9][a-z0-9._/-]*$",
"description": "One allowed host id item supplied to the tool."
},
"maxItems": 500,
"description": "Catalog host IDs this project permits. Null removes the constraint; an empty list permits nothing."
},
{
"type": "null",
"description": "Provide the allowed host ids."
}
],
"description": "Catalog host IDs this project permits. Null removes the constraint; an empty list permits nothing."
},
"denied_host_ids": {
"anyOf": [
{
"type": "array",
"items": {
"$ref": "#/properties/allowed_host_ids/anyOf/0/items",
"description": "One denied host id item supplied to the tool."
},
"maxItems": 500,
"description": "Catalog host IDs this project refuses. Null or an empty list adds no denials; a denial overrides an allowance."
},
{
"type": "null",
"description": "Provide the denied host ids."
}
],
"description": "Catalog host IDs this project refuses. Null or an empty list adds no denials; a denial overrides an allowance."
},
"allowed_models": {
"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": "Canonical model IDs this project permits, from list_models. Null removes the constraint; an empty list permits nothing."
},
{
"type": "null",
"description": "AI model ids or aliases the agent may switch between. Call list_models for the accepted ids."
}
],
"description": "Canonical model IDs this project permits, from list_models. Null removes the constraint; an empty list permits nothing."
},
"denied_models": {
"anyOf": [
{
"type": "array",
"items": {
"$ref": "#/properties/allowed_models/anyOf/0/items",
"description": "One denied model item supplied to the tool."
},
"maxItems": 500,
"description": "Canonical model IDs this project refuses, from list_models. Null or an empty list adds no denials; a denial overrides an allowance."
},
{
"type": "null",
"description": "Provide the denied models."
}
],
"description": "Canonical model IDs this project refuses, from list_models. Null or an empty list adds no denials; a denial overrides an allowance."
}
},
"additionalProperties": false,
"description": "Arguments for the set_project_inference_policy tool.",
"$schema": "http://json-schema.org/draft-07/schema#"
}
{
"type": "object",
"properties": {
"project_id": {
"type": "string",
"description": "Project identifier associated with this result."
},
"configured": {
"type": "boolean",
"description": "Whether a policy row exists. False means the fields below are defaults. A row that constrains nothing is routed exactly like no row; routing changes begin at the first non-null constraint."
},
"enforced": {
"type": "boolean",
"description": "Whether the gateway can apply this stored policy. True for every readable policy: each stated constraint, the \"eu-resident\" tier floor included, is enforced. False only when a stored value (a tier or precision) is one this build cannot read, because the gateway then refuses every request for the project instead of applying it."
},
"min_tier": {
"type": [
"string",
"null"
],
"description": "Returns the stored minimum tier: qualified-sovereign, eu-owned, eu-resident, or standard. Null means no stored floor and is served as \"eu-resident\": every project is EU-only by default. Unknown values from newer builds remain readable."
},
"min_quantization": {
"type": [
"string",
"null"
],
"description": "Returns the stored minimum precision: bf16, fp16, fp8, nvfp4, fp4, or int4. Null means no stored precision constraint. Unknown values from newer builds remain readable."
},
"allowed_jurisdictions": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
},
"description": "List of allowed jurisdictions associated with this tool result."
},
{
"type": "null",
"description": "The allowed jurisdictions returned by the tool."
}
],
"description": "Lists allowed operator jurisdictions as uppercase ISO 3166-1 alpha-2 codes. Null adds no jurisdiction constraint; an empty list permits none."
},
"allowed_host_ids": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
},
"description": "List of allowed host ids associated with this tool result."
},
{
"type": "null",
"description": "The allowed host ids returned by the tool."
}
],
"description": "Lists allowed catalog host IDs. Null adds no host allowlist constraint; an empty list permits none."
},
"denied_host_ids": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
},
"description": "List of denied host ids associated with this tool result."
},
{
"type": "null",
"description": "The denied host ids returned by the tool."
}
],
"description": "Lists denied catalog host IDs. Null or an empty list adds no host denials. Denials override allowances."
},
"allowed_models": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
},
"description": "AI model ids the agent may switch between."
},
{
"type": "null",
"description": "AI model ids the agent may switch between."
}
],
"description": "Lists canonical model IDs the project may use. Null adds no model allowlist constraint; an empty list permits none."
},
"denied_models": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
},
"description": "List of denied models associated with this tool result."
},
{
"type": "null",
"description": "The denied models returned by the tool."
}
],
"description": "Lists canonical model IDs the project may not use. Null or an empty list adds no model denials. Denials override allowances."
},
"standard_tier_opt_in_at": {
"type": [
"string",
"null"
],
"description": "Records the standard-tier acceptance timestamp in ISO 8601 format, or null when no acceptance is recorded."
},
"standard_tier_opt_in_by": {
"type": [
"string",
"null"
],
"description": "Records the user ID responsible for acceptance, or null when no actor is recorded."
},
"standard_tier_opt_in_source": {
"type": [
"string",
"null"
],
"description": "How the recorded acceptance was granted: \"admin\" when a project admin accepted it through this API, \"grandfather\" when the one-off migration recorded it for inference the project was already running before the default tier floor existed. Null when no acceptance is recorded."
},
"allow_non_eu_hosting": {
"type": "boolean",
"description": "Whether this project has opted in to non-EU hosting: the standard-tier opt-in is recorded (create_project_inference_policy_standard_tier_opt_in) and min_tier is \"standard\", which drops the default \"eu-resident\" floor. False by default: a project is EU-only, and a min_tier of null is served as \"eu-resident\". True does not mean the project is served outside the EU: its other constraints (for example allowed_jurisdictions or allowed_host_ids) may still restrict serving to the EU. Read-only; derived."
},
"created_at": {
"type": [
"string",
"null"
],
"description": "Records policy creation in ISO 8601 format, or null when no policy row exists."
},
"updated_at": {
"type": [
"string",
"null"
],
"description": "Records the last policy update in ISO 8601 format, or null when no policy row exists."
},
"updated_by": {
"type": [
"string",
"null"
],
"description": "Records the user ID responsible for the last policy update, or null when no actor is recorded."
}
},
"required": [
"project_id",
"configured",
"enforced",
"min_tier",
"min_quantization",
"allowed_jurisdictions",
"allowed_host_ids",
"denied_host_ids",
"allowed_models",
"denied_models",
"standard_tier_opt_in_at",
"standard_tier_opt_in_by",
"standard_tier_opt_in_source",
"allow_non_eu_hosting",
"created_at",
"updated_at",
"updated_by"
],
"additionalProperties": false,
"description": "Structured result returned by the set_project_inference_policy tool.",
"$schema": "http://json-schema.org/draft-07/schema#"
}