The Chrome Management Chrome Browsers API allows administrators to view data and
manage Chrome browsers enrolled in Chrome Enterprise Core. This set of APIs can
be used to list enrolled Chrome browsers, retrieve a Chrome browser, update
annotation information for a Chrome browser, move Chrome browsers between
Organizational Units (OUs), and delete the data collected from a Chrome browser.

## Quick overview of API methods

URLs are relative to
`https://chromemanagement.googleapis.com/v1/customers/{customer_id}`

| Description | Relative URL | Http method |
|---|---|---|
| List enrolled Chrome browsers | [/chromeBrowsers](https://developers.google.com/chrome/management/reference/rest/v1/customers.chromeBrowsers/list.md.txt) | GET |
| Retrieve a Chrome browser | [/chromeBrowsers/{browser_permanent_id}](https://developers.google.com/chrome/management/reference/rest/v1/customers.chromeBrowsers/get) | GET |
| Update annotation information for a Chrome browser | [/chromeBrowsers/{browser_permanent_id}](https://developers.google.com/chrome/management/reference/rest/v1/customers.chromeBrowsers/patch) | PATCH |
| Move Chrome browsers to a new Organizational Unit (OU) | [/chromeBrowsers:move](https://developers.google.com/chrome/management/reference/rest/v1/customers.chromeBrowsers/move) | POST |
| Delete the data collected from a Chrome browser | [/chromeBrowsers/{browser_permanent_id}](https://developers.google.com/chrome/management/reference/rest/v1/customers.chromeBrowsers/delete) | DELETE |

See [code samples](https://developers.google.com/chrome/management/guides/samples_chromebrowsersapi.md.txt) for
example requests and responses.

## Filtering results

When listing Chrome browsers with the
[/chromeBrowsers](https://developers.google.com/chrome/management/reference/rest/v1/customers.chromeBrowsers/list.md.txt)
method, you can narrow down the results using the `filter` query parameter. All
filter parameters must be URL-escaped when sent in HTTP requests. Multiple
conditions can be combined using the `AND` operator.

- **String, Integer, and Enum fields:** Support `=` and `:` comparison operators. Wildcard `*` (prefix `prefix*`, suffix `*suffix`, substring `*substring*`, or presence `*`) is supported with `=` and `:` only for `machine_name`, `annotated_asset_id`, and `browser_version` (for example, `machine_name=LIX*` or `browser_version:"*6367*"`). Unadorned global string literal filtering (without a field name) is also supported: a single term such as `ABC` matches if any indexed string field contains `ABC`, and multiple terms joined by `AND` or whitespace (for example, `machine AND 73` or `machine 73`) match browsers that contain **every** specified term across any of their indexed text fields (whereas a single quoted multi-word string such as `"machine 73"` matches the exact contiguous phrase within a single field).
- **Timestamp fields:** Support `=`, `<=`, and `>=` comparison operators. Timestamps expect an RFC-3339 formatted string (for example, `2020-01-01T12:00:00Z` or `"2012-04-21T11:30:00-04:00"`). Closed timestamp ranges can be specified using comparisons.
- **Organizational Unit filtering:** You can filter browsers belonging to a specific Organizational Unit by specifying `org_unit_path` (for example, `org_unit_path=/Marketing`). Single Organizational Unit matching is supported.
- **Group filtering:** You can filter browsers belonging to a specific Cloud Identity group using the `in_group` function (for example, `in_group("groups/00gjdgxs0lm8l7o")`).

### Filterable fields

| Field | Description |
|---|---|
| `browser_permanent_id` | The permanent unique identifier of the Chrome browser device. |
| `virtual_device_id` | The initial device ID sent by the first Chrome browser that enrolled this device. |
| `last_policy_fetch_time` | The last policy fetch time for the Chrome browser device. |
| `os_platform` | The OS platform for the Chrome browser device (e.g. `WINDOWS`, `MAC`, `LINUX`). |
| `os_architecture` | The OS architecture of the Chrome browser device. |
| `os_version` | The OS version for the Chrome browser device. |
| `machine_name` | The name of the machine associated with the Chrome browser device. |
| `annotated_location` | The annotated location for the Chrome browser device. |
| `annotated_user` | The annotated user for the Chrome browser device. |
| `annotated_asset_id` | The annotated asset ID for the Chrome browser device. |
| `annotated_note` | The annotated notes for the Chrome browser device. |
| `org_unit_path` | The Organizational Unit path for the Chrome browser device (e.g. `/Marketing`). |
| `org_unit_id` | The Organizational Unit ID for the Chrome browser device. |
| `last_registration_time` | The registration time for the Chrome browser device. |
| `os_platform_version` | The OS platform and major version for the Chrome browser device. |
| `browser_version` | A reported Chrome browser version installed on the device. |
| `last_status_report_time` | The last status report time for the Chrome browser device. |
| `extension_count` | The number of extensions installed on the Chrome browser device. |
| `policy_count` | The number of policies applied to the Chrome browser device. |
| `last_device_user` | The last signed-in user on the machine. |
| `last_activity_time` | The last time the Chrome browser device has shown activity (policy fetch or reporting). |
| `device_id_collision` | Whether the device ID is shared by multiple machines that Chrome Browser identifies as the same machine (`true` or `false`). |

### Filter functions

| Function | Description |
|---|---|
| `in_group(string)` | Filters the list of Chrome browser devices to those belonging to the specified Cloud Identity group resource name (format: `in_group("groups/{group_id}")`). |

## Ordering results

You can specify the ordering of results using the `orderBy` query parameter. By
default, sorting is in ascending order. To specify descending order for a field,
add the suffix `" desc"` to the field name (for example, `last_activity_time
desc`).

If unspecified, the default ordering is ascending order of
`browser_permanent_id`.

### Supported ordering fields

- `browser_permanent_id`
- `virtual_device_id`
- `last_policy_fetch_time`
- `annotated_user`
- `annotated_location`
- `annotated_asset_id`
- `annotated_notes`
- `org_unit_path`
- `os_version`
- `last_registration_time`
- `extension_count`
- `policy_count`
- `last_device_user`
- `machine_name`
- `browser_version_channel`
- `os_platform_version`
- `last_activity_time`
- `browser_version`

## Admin Privileges

Chrome Browsers API respects administrator role delegation.

| Method | Admin privileges required |
|---|---|
| ListChromeBrowsers | "Services -\> Chrome Management -\> Settings -\> Managed Browsers" or "Services -\> Chrome Management -\> Settings -\> Managed Browsers -\> Read" |
| GetChromeBrowser | "Services -\> Chrome Management -\> Settings -\> Managed Browsers" or "Services -\> Chrome Management -\> Settings -\> Managed Browsers -\> Read" |
| UpdateChromeBrowser | "Services -\> Chrome Management -\> Settings -\> Managed Browsers" |
| MoveChromeBrowsers | "Services -\> Chrome Management -\> Settings -\> Managed Browsers" |
| DeleteChromeBrowser | "Services -\> Chrome Management -\> Settings -\> Managed Browsers" |

To manage administrator roles and privileges visit "Admin Console -\> Admin
Roles".

> [!NOTE]
> **Note:** administrator roles can be assigned directly to a Service Account.

## API scopes

Chrome Management Chrome Browsers API requires the following OAuth scopes:

| Method | OAuth scopes required |
|---|---|
| ListChromeBrowsers | https://www.googleapis.com/auth/chrome.management.browsers or https://www.googleapis.com/auth/chrome.management.browsers.readonly |
| GetChromeBrowser | https://www.googleapis.com/auth/chrome.management.browsers or https://www.googleapis.com/auth/chrome.management.browsers.readonly |
| UpdateChromeBrowser | https://www.googleapis.com/auth/chrome.management.browsers |
| MoveChromeBrowsers | https://www.googleapis.com/auth/chrome.management.browsers |
| DeleteChromeBrowser | https://www.googleapis.com/auth/chrome.management.browsers |

For more information, see the
[Authentication Overview](https://cloud.google.com/docs/authentication/).