canonical: https://jentic.com/apis/googleapis.com/chromepolicy

# Google Chrome Policy API

The Chrome Policy API lets Workspace administrators read, modify, and orchestrate Chrome and ChromeOS policies across organisational units, groups, and printers programmatically. It supports batch policy modification, group priority ordering for conflicting policies, network and certificate definitions for managed Wi-Fi, and resolution queries that return the effective policy for a given org unit. It is the write counterpart to the Chrome Management API.

## For AI agents

Apply, modify, and resolve Chrome and ChromeOS policies across org units, groups, and printers in a Google Workspace customer.

## Scope

Does not read fleet telemetry, manage Workspace users, or push files to devices - use for Chrome and ChromeOS policy resolution and modification only.

## Capabilities

- Resolve the effective Chrome policy for a given org unit, group, or printer
- Batch-modify policies on multiple org units in a single call to reduce drift windows
- Apply group-targeted policies and reorder them when multiple groups affect the same user
- Define managed Wi-Fi networks and pin certificates that ChromeOS devices must trust
- Inherit or revert policies from parent org units in bulk
- Upload custom policy schema files for organisations using extension-defined policies

## Use cases

### Bulk Policy Rollout

Workspace admins push a policy change - for example, disabling a specific extension or enforcing a new homepage - across many org units at once via batchModify. The single batched call avoids drift windows where some org units have the new policy and others still hold the old value. The API also supports batchInherit to revert a unit to its parent's policy.

Example prompt: POST /v1/{customer}/policies/orgunits:batchModify with a policy disabling the chrome.urlBlocklist override across three org units.

### Managed Wi-Fi Provisioning

IT teams define corporate Wi-Fi networks and trust certificates centrally and the API rolls them out to ChromeOS devices in scope. defineNetwork and defineCertificate handle creation, removeNetwork and removeCertificate handle removal. This eliminates manual provisioning on each device.

Example prompt: POST /v1/{customer}/policies/networks:defineNetwork with a WPA2-Enterprise profile for the corporate SSID and target the engineering org unit.

### Group Priority Conflict Resolution

When users belong to multiple Workspace groups whose Chrome policies conflict, admins use updateGroupPriorityOrdering to set the precedence order. listGroupPriorityOrdering returns the current order so changes can be reviewed before commit. This is the recommended way to handle policy fan-out in large organisations.

Example prompt: POST /v1/{customer}/policies/groups:updateGroupPriorityOrdering with the desired ordered list of group ids for the chrome.users.bookmarkBarEnabled policy.

### AI Agent Workspace Policy Operator via Jentic

An AI agent through Jentic acts as a junior IT operator - resolving the effective policy for an org unit, applying a policy change after admin confirmation, and verifying the new effective policy. Jentic isolates the Workspace OAuth credentials so the agent never holds the admin refresh token directly.

Example prompt: Through Jentic, search chromepolicy_resolve, load schema, and execute it for org unit /Engineering returning all schemas under chrome.users.*.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | /v1/{+customer}/policies:resolve | Resolve the effective policy for a target |
| POST | /v1/{+customer}/policies/orgunits:batchModify | Modify policies on multiple org units |
| POST | /v1/{+customer}/policies/orgunits:batchInherit | Inherit policies from parent on multiple org units |
| POST | /v1/{+customer}/policies/groups:batchModify | Modify policies for multiple groups |
| POST | /v1/{+customer}/policies/groups:updateGroupPriorityOrdering | Set group priority ordering for a policy |
| POST | /v1/{+customer}/policies/networks:defineNetwork | Define a managed Wi-Fi network |

## Key resources

- **Policies (Resolve)** — Resolve the effective Chrome policy for org units, groups, or printers
- **Org Unit Policies** — Batch modify and batch inherit policies on org units
- **Group Policies** — Apply group-targeted policies and manage priority ordering
- **Networks and Certificates** — Define and remove managed Wi-Fi networks and pinned certificates
- **Policy Schemas** — Upload custom Chrome policy schema files

## Why Jentic

- **Setup:** Wiring the Chrome Policy API by hand means standing up Workspace OAuth with chrome.management.policy scopes, refreshing scoped access tokens, and assembling the batchModify and resolve payloads yourself. Through Jentic you install once, import the Chrome Policy API from the API Directory, store the OAuth credentials once, and your agent calls it.
- **Permission scoping:** The API puts the customer in the URL path (/v1/{+customer}/policies:resolve, /v1/{+customer}/policies/orgunits:batchModify), so a rule can pin your agent to one customer's Chrome policies. Limit it to the operations it needs, such as resolving policies, and modifying ones like orgunit batchModify are not included unless you add them.
- **Credential handling:** Your Workspace OAuth credentials with chrome.management.policy scopes are stored once, encrypted, by your own Jentic One instance and injected at execution time. The agent receives only short-lived access tokens and the refresh token never enters its prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'apply a Chrome policy to an org unit', and Jentic returns the orgunits batchModify operation with its parameter schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Chrome Management API** — Read managed-browser and ChromeOS telemetry that informs which policies to change.
- **Admin SDK** — Manage the org units and groups that Chrome Policy targets.
- **Android Management API** — Applies device policies to Android rather than Chrome browsers and ChromeOS.

## FAQ

### What authentication does the Chrome Policy API use?

It requires OAuth 2.0 with the chrome.management.policy or chrome.management.policy.readonly scope on a Workspace super admin or delegated admin. Through Jentic, the credential is stored encrypted in your Jentic One instance and the agent receives only short-lived scoped access tokens.

### Can I apply a policy to multiple org units at once?

Yes. POST /v1/{customer}/policies/orgunits:batchModify with a list of policy modifications, each targeting a different org unit. The API processes the batch atomically per request and returns per-modification status.

### What are the rate limits for the Chrome Policy API?

Google enforces a per-project per-minute quota of around 240 write requests and higher read quotas. Use the batch endpoints (batchModify, batchInherit) to make bulk changes within quota rather than one-policy-at-a-time updates.

### How do I resolve the effective policy for an org unit through Jentic?

Use the Jentic search query "resolve Chrome policy for an org unit" to discover the customers.policies.resolve operation, load its schema, and execute it with the customer id, policySchemaFilter, and the target org unit. Run pip install jentic to get started.

### Can the Chrome Policy API target individual users?

It targets org units, groups, and printers - not individual users directly. To apply a policy to a single user, place the user in an org unit or group whose policy is configured accordingly.

### Is the Chrome Policy API free?

It is included with Chrome Enterprise Upgrade and ChromeOS Enterprise licences. There is no per-call charge from Google for policy resolution and modification.

### Can I limit what my agent is allowed to do with the Google Chrome Policy API?

Yes. Because you self-host Jentic One, your own rules decide which Chrome Policy operations and credentials the agent may use, and the customer id sits in the URL path (/v1/{customer}/policies:resolve, /v1/{customer}/policies/orgunits:batchModify), so a rule can pin the agent to a single Workspace customer. You can allow only read-style operations such as resolving the effective policy for an org unit while withholding write operations like orgunits:batchModify, groups:batchModify, or networks:defineNetwork unless you explicitly grant them. Your Workspace OAuth credentials stay encrypted in your instance and the agent receives only short-lived scoped access tokens.
