Method: organizations.batchGetAssetsHistory

Batch gets the update history of assets that overlap a time window. For IAM_POLICY content, this API outputs history when the asset and its attached IAM POLICY both exist. This can create gaps in the output history. Otherwise, this API outputs history with asset in both non-delete or deleted status. If a specified asset does not exist, this API returns an INVALID_ARGUMENT error.

HTTP request


The URL uses gRPC Transcoding syntax.

Path parameters



Required. The relative name of the root asset. It can only be an organization number (such as "organizations/123"), a project ID (such as "projects/my-project-id")", or a project number (such as "projects/12345").

Authorization requires one or more of the following IAM permissions on the specified resource parent:

  • cloudasset.assets.exportResource
  • cloudasset.assets.exportIamPolicy

Query parameters



A list of the full names of the assets. For example: // See Resource Names for more info.

The request becomes a no-op if the asset name list is empty, and the max size of the asset name list is 100 in one request.


enum (ContentType)

Optional. The content type.


object (TimeWindow)

Optional. The time window for the asset history. Both startTime and endTime are optional and if set, it must be after 2018-10-02 UTC. If endTime is not set, it is default to current timestamp. If startTime is not set, the snapshot of the assets at endTime will be returned. The returned results contain all temporal assets whose time window overlap with readTimeWindow.

Request body

The request body must be empty.

Response body

If successful, the response body contains an instance of BatchGetAssetsHistoryResponse.

Authorization Scopes

Requires the following OAuth scope:


For more information, see the Authentication Overview.