Visit
[Chrome Management Chrome Browsers API](https://developers.google.com/chrome/management/guides/chrome_browsers_api)
for an overview of API features.

All the requests shown in this page use the following variables:

- `$TOKEN` - OAuth 2.0 token
- `$CUSTOMER` - ID of the customer or literal `my_customer`

## List Enrolled Chrome Browsers

To list enrolled Chrome browsers, use the `/chromeBrowsers` endpoint. You can
control pagination using the `pageSize` (maximum and default 100) and
`pageToken` parameters. Use `orderBy` to specify the ordering of results.
Specify a `filter` to narrow down results. A read mask can be specified with the
`fields` query parameter.

Wildcard (`*`) matching (prefix `prefix*`, suffix `*suffix`, substring
`*substring*`, or presence `*`) is supported with `=` and `:` only on the
`machine_name`, `annotated_asset_id`, and `browser_version` fields.

Global text search (without specifying a field name) searches across all indexed
text fields. When multiple terms are separated by `AND` or whitespace (for
example, `filter=machine AND 73` or `filter=machine 73`), every term must match
at least one indexed text field on the browser device (even across different
fields). Enclosing multiple words in a single quoted string (for example,
`filter="machine name"`) searches for that exact contiguous phrase within a
single field.

#### Example filter queries

    # Filter by machine name prefix (using ':' or '=')
    filter=machine_name:LIX*

    # Filter by annotated asset ID suffix
    filter=annotated_asset_id="*1001"

    # Filter by browser version substring
    filter=browser_version:"*6367*"

    # Global search across all indexed text fields (matches browsers containing both "machine" and "73" across any fields)
    filter=machine AND 73

    # Global search with implicit AND (equivalent to `machine AND 73`)
    filter=machine 73

    # Filter by machine name prefix and registration time range
    filter=machine_name:LIX* AND last_registration_time>="2024-01-01T00:00:00Z"

    # Filter by Organizational Unit path
    filter=org_unit_path=/Marketing

#### Request

      curl -X GET \
      -H "Authorization: Bearer $TOKEN" \
      "https://chromemanagement.googleapis.com/v1/customers/$CUSTOMER/chromeBrowsers?pageSize=2&orderBy=last_activity_time+desc&filter=os_platform=WINDOWS"

#### Response

    {
      "chromeBrowsers": [
        {
          "name": "customers/<customerId>/chromeBrowsers/<browserPermanentId1>",
          "browserPermanentId": "<browserPermanentId1>",
          "machineName": "CLIENT2024-01",
          "osPlatform": "Windows",
          "osVersion": "10.0.19045",
          "browserVersions": [
            "124.0.6367.60"
          ],
          "annotatedUser": "user1@example.com",
          "annotatedLocation": "US-NYC",
          "annotatedAssetId": "ASSET-1001",
          "annotatedNotes": "Engineering workstation",
          "lastActivityTime": "2024-04-23T22:05:44.214362Z",
          "lastPolicyFetchTime": "2024-04-23T22:00:00.000Z",
          "lastStatusReportTime": "2024-04-23T22:05:44.214362Z",
          "lastRegistrationTime": "2024-01-15T10:30:00.000Z",
          "orgUnitId": "03ph8a2z3v",
          "policyCount": "15",
          "extensionCount": "8"
        },
        {
          "name": "customers/<customerId>/chromeBrowsers/<browserPermanentId2>",
          "browserPermanentId": "<browserPermanentId2>",
          "machineName": "CLIENT2024-02",
          "osPlatform": "Windows",
          "osVersion": "11.0.22631",
          "browserVersions": [
            "124.0.6367.60"
          ],
          "annotatedUser": "user2@example.com",
          "annotatedLocation": "US-MTV",
          "lastActivityTime": "2024-04-23T21:45:10.102000Z",
          "lastPolicyFetchTime": "2024-04-23T21:40:00.000Z",
          "lastStatusReportTime": "2024-04-23T21:45:10.102000Z",
          "lastRegistrationTime": "2024-02-10T14:15:00.000Z",
          "orgUnitId": "03ph8a2z3v",
          "policyCount": "12",
          "extensionCount": "5"
        }
      ],
      "nextPageToken": "<nextPageToken>"
    }

## Retrieve a Managed Chrome Browser

To retrieve a single enrolled Chrome browser, use the
`/chromeBrowsers/{browser_permanent_id}` endpoint. A read mask can be specified
with the `fields` parameter.

#### Request

      curl -X GET \
      -H "Authorization: Bearer $TOKEN" \
      "https://chromemanagement.googleapis.com/v1/customers/$CUSTOMER/chromeBrowsers/<browserPermanentId1>"

#### Response

    {
      "name": "customers/<customerId>/chromeBrowsers/<browserPermanentId1>",
      "browserPermanentId": "<browserPermanentId1>",
      "machineName": "CLIENT2024-01",
      "osPlatform": "Windows",
      "osVersion": "10.0.19045",
      "browserVersions": [
        "124.0.6367.60"
      ],
      "annotatedUser": "user1@example.com",
      "annotatedLocation": "US-NYC",
      "annotatedAssetId": "ASSET-1001",
      "annotatedNotes": "Engineering workstation",
      "lastActivityTime": "2024-04-23T22:05:44.214362Z",
      "lastPolicyFetchTime": "2024-04-23T22:00:00.000Z",
      "lastStatusReportTime": "2024-04-23T22:05:44.214362Z",
      "lastRegistrationTime": "2024-01-15T10:30:00.000Z",
      "orgUnitId": "03ph8a2z3v",
      "policyCount": "15",
      "extensionCount": "8"
    }

## Update Annotation Information for a Chrome Browser

To update annotated fields of an enrolled Chrome browser, use the
`/chromeBrowsers/{browser_permanent_id}` endpoint with the HTTP `PATCH` method
and provide an `updateMask` query parameter specifying the fields to update.

#### Request

      curl -X PATCH \
      -H "Authorization: Bearer $TOKEN" \
      -H "Content-Type: application/json" \
      "https://chromemanagement.googleapis.com/v1/customers/$CUSTOMER/chromeBrowsers/<browserPermanentId1>?updateMask=annotatedUser,annotatedNotes" \
      -d '{
        "annotatedUser": "newuser@example.com",
        "annotatedNotes": "Updated primary workstation"
      }'

#### Response

    {
      "name": "customers/<customerId>/chromeBrowsers/<browserPermanentId1>",
      "browserPermanentId": "<browserPermanentId1>",
      "machineName": "CLIENT2024-01",
      "osPlatform": "Windows",
      "osVersion": "10.0.19045",
      "browserVersions": [
        "124.0.6367.60"
      ],
      "annotatedUser": "newuser@example.com",
      "annotatedLocation": "US-NYC",
      "annotatedAssetId": "ASSET-1001",
      "annotatedNotes": "Updated primary workstation",
      "lastActivityTime": "2024-04-23T22:05:44.214362Z",
      "orgUnitId": "03ph8a2z3v"
    }

## Move Chrome Browsers to a New Organizational Unit

To move managed Chrome browsers from one Organizational Unit to another, use the
`/chromeBrowsers:move` endpoint. Up to 600 browsers can be moved per request. If
there is an error moving any browser, none of the specified browsers are moved.

#### Request

      curl -X POST \
      -H "Authorization: Bearer $TOKEN" \
      -H "Content-Type: application/json" \
      "https://chromemanagement.googleapis.com/v1/customers/$CUSTOMER/chromeBrowsers:move" \
      -d '{
        "destinationOrgUnitId": "03ph8a2z3v",
        "resourceIds": [
          "customers/$CUSTOMER/chromeBrowsers/<browserPermanentId1>",
          "customers/$CUSTOMER/chromeBrowsers/<browserPermanentId2>"
        ]
      }'

#### Response

    {}

## Delete the Data Collected from a Chrome Browser

To delete the data collected from a managed Chrome browser, use the
`/chromeBrowsers/{browser_permanent_id}` endpoint with HTTP `DELETE`.

#### Request

      curl -X DELETE \
      -H "Authorization: Bearer $TOKEN" \
      "https://chromemanagement.googleapis.com/v1/customers/$CUSTOMER/chromeBrowsers/<browserPermanentId1>"

#### Response

    {}