# Cloud Asset API API

> Cloud Asset API API on Apizie: 20 endpoints (Lists assets with time and resource types and returns paged results in response., Gets effective IAM policies for a batch of resources., Lists all asset feeds in a parent project/folder/organization., Creates a feed in a parent project/folder/organization to listen to its asset updates., …) returned as clean JSON through one API key. Send your own provider key in the x-upstream-key header. Call it over REST at https://zieapi.vercel.app/v1/analytics:googleapis-cloudasset/{endpoint} or from Claude, ChatGPT and Cursor through the Apizie MCP server. Free plan: 1,000 requests a month.

- Project key: `analytics:googleapis-cloudasset`
- Category: Analytics
- Status: byok
- Source: https://cloud.google.com/asset-inventory/docs/quickstart
- Page: https://zieapi.vercel.app/api/analytics/googleapis-cloudasset
- OpenAPI: https://zieapi.vercel.app/api/analytics/googleapis-cloudasset/openapi.json

The Cloud Asset API manages the history and inventory of Google Cloud resources.

## Endpoints

### Lists assets with time and resource types and returns paged results in response.
`GET https://zieapi.vercel.app/v1/analytics:googleapis-cloudasset/cloudasset-assets-list` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| assetTypes | string | no | A list of asset types to take a snapshot for. For example: "compute.googleapis.com/Disk". Regular expression is also supported. For… |
| contentType | string | no | Asset content type. If not specified, no content but the asset name will be returned. |
| pageSize | integer | no | The maximum number of assets to be returned in a single response. Default is 100, minimum is 1, and maximum is 1000. |
| pageToken | string | no | The `next_page_token` returned from the previous `ListAssetsResponse`, or unspecified for the first `ListAssetsRequest`. It is a… |
| parent | string | yes | Required. Name of the organization, folder, or project the assets belong to. Format: "organizations/[organization-number]" (such as… |
| readTime | string | no | Timestamp to take an asset snapshot. This can only be set to a timestamp between the current time and the current time minus 35 days… |
| relationshipTypes | string | no | A list of relationship types to output, for example: `INSTANCE_TO_INSTANCEGROUP`. This field should only be specified if… |

### Gets effective IAM policies for a batch of resources.
`GET https://zieapi.vercel.app/v1/analytics:googleapis-cloudasset/cloudasset-effective-iam-policies-batch-get` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| names | string | no | Required. The names refer to the [full_resource_names] (https://cloud.google.com/asset-inventory/docs/resource-name-format) of the asset… |
| scope | string | yes | Required. Only IAM policies on or below the scope will be returned. This can only be an organization number (such as "organizations/123"),… |

### Lists all asset feeds in a parent project/folder/organization.
`GET https://zieapi.vercel.app/v1/analytics:googleapis-cloudasset/cloudasset-feeds-list` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| parent | string | yes | Required. The parent project/folder/organization whose feeds are to be listed. It can only be using project/folder/organization number… |

### Creates a feed in a parent project/folder/organization to listen to its asset updates.
`POST https://zieapi.vercel.app/v1/analytics:googleapis-cloudasset/cloudasset-feeds-create` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| parent | string | yes | Required. The name of the project/folder/organization where this feed should be created in. It can only be an organization number (such as… |
| body | object | yes | JSON request body |

### Gets details about a saved query.
`GET https://zieapi.vercel.app/v1/analytics:googleapis-cloudasset/cloudasset-saved-queries-get` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| name | string | yes | Required. The name of the saved query and it must be in the format of: * projects/project_number/savedQueries/saved_query_id *… |

### Updates a saved query.
`POST https://zieapi.vercel.app/v1/analytics:googleapis-cloudasset/cloudasset-saved-queries-patch` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| name | string | yes | The resource name of the saved query. The format must be: * projects/project_number/savedQueries/saved_query_id *… |
| updateMask | string | no | Required. The list of fields to update. |
| body | object | yes | JSON request body |

### Deletes a saved query.
`POST https://zieapi.vercel.app/v1/analytics:googleapis-cloudasset/cloudasset-saved-queries-delete` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| name | string | yes | Required. The name of the saved query to delete. It must be in the format of: * projects/project_number/savedQueries/saved_query_id *… |

### Lists all saved queries in a parent project/folder/organization.
`GET https://zieapi.vercel.app/v1/analytics:googleapis-cloudasset/cloudasset-saved-queries-list` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| filter | string | no | Optional. The expression to filter resources. The expression is a list of zero or more restrictions combined via logical operators `AND`… |
| pageSize | integer | no | Optional. The maximum number of saved queries to return per page. The service may return fewer than this value. If unspecified, at most 50… |
| pageToken | string | no | Optional. A page token, received from a previous `ListSavedQueries` call. Provide this to retrieve the subsequent page. When paginating,… |
| parent | string | yes | Required. The parent project/folder/organization whose savedQueries are to be listed. It can only be using project/folder/organization… |

### Creates a saved query in a parent project/folder/organization.
`POST https://zieapi.vercel.app/v1/analytics:googleapis-cloudasset/cloudasset-saved-queries-create` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| parent | string | yes | Required. The name of the project/folder/organization where this saved_query should be created in. It can only be an organization number… |
| savedQueryId | string | no | Required. The ID to use for the saved query, which must be unique in the specified parent. It will become the final component of the saved… |
| body | object | yes | JSON request body |

### Analyzes IAM policies to answer which identities have what accesses on which resources.
`GET https://zieapi.vercel.app/v1/analytics:googleapis-cloudasset/cloudasset-analyze-iam-policy` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| analysisQuery.accessSelector.permissions | string | no | Optional. The permissions to appear in result. |
| analysisQuery.accessSelector.roles | string | no | Optional. The roles to appear in result. |
| analysisQuery.conditionContext.accessTime | string | no | The hypothetical access timestamp to evaluate IAM conditions. Note that this value must not be earlier than the current time; otherwise,… |
| analysisQuery.identitySelector.identity | string | no | Required. The identity appear in the form of principals in [IAM policy binding](https://cloud.google.com/iam/reference/rest/v1/Binding).… |
| analysisQuery.options.analyzeServiceAccountImpersonation | boolean | no | Optional. If true, the response will include access analysis from identities to resources via service account impersonation. This is a… |
| analysisQuery.options.expandGroups | boolean | no | Optional. If true, the identities section of the result will expand any Google groups appearing in an IAM policy binding. If… |
| analysisQuery.options.expandResources | boolean | no | Optional. If true and IamPolicyAnalysisQuery.resource_selector is not specified, the resource section of the result will expand any… |
| analysisQuery.options.expandRoles | boolean | no | Optional. If true, the access section of result will expand any roles appearing in IAM policy bindings to include their permissions. If… |
| analysisQuery.options.outputGroupEdges | boolean | no | Optional. If true, the result will output the relevant membership relationships between groups and other groups, and between groups and… |
| analysisQuery.options.outputResourceEdges | boolean | no | Optional. If true, the result will output the relevant parent/child relationships between resources. Default is false. |
| analysisQuery.resourceSelector.fullResourceName | string | no | Required. The [full resource name] (https://cloud.google.com/asset-inventory/docs/resource-name-format) of a resource of [supported… |
| executionTimeout | string | no | Optional. Amount of time executable has to complete. See JSON representation of… |
| savedAnalysisQuery | string | no | Optional. The name of a saved query, which must be in the format of: * projects/project_number/savedQueries/saved_query_id *… |
| scope | string | yes | Required. The relative name of the root asset. Only resources and IAM policies within the scope will be analyzed. This can only be an… |

### Analyzes IAM policies asynchronously to answer which identities have what accesses on which resources, and…
`POST https://zieapi.vercel.app/v1/analytics:googleapis-cloudasset/cloudasset-analyze-iam-policy-longrunning` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| scope | string | yes | Required. The relative name of the root asset. Only resources and IAM policies within the scope will be analyzed. This can only be an… |
| body | object | yes | JSON request body |

### Analyze moving a resource to a specified destination without kicking off the actual move. The analysis is…
`GET https://zieapi.vercel.app/v1/analytics:googleapis-cloudasset/cloudasset-analyze-move` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| destinationParent | string | no | Required. Name of the Google Cloud folder or organization to reparent the target resource. The analysis will be performed against… |
| resource | string | yes | Required. Name of the resource to perform the analysis against. Only Google Cloud projects are supported as of today. Hence, this can only… |
| view | string | no | Analysis view indicating what information should be included in the analysis response. If unspecified, the default view is FULL. |

### Analyzes organization policies under a scope.
`GET https://zieapi.vercel.app/v1/analytics:googleapis-cloudasset/cloudasset-analyze-org-policies` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| constraint | string | no | Required. The name of the constraint to analyze organization policies for. The response only contains analyzed organization policies for… |
| filter | string | no | The expression to filter AnalyzeOrgPoliciesResponse.org_policy_results. Filtering is currently available for bare literal values and the… |
| pageSize | integer | no | The maximum number of items to return per page. If unspecified, AnalyzeOrgPoliciesResponse.org_policy_results will contain 20 items with a… |
| pageToken | string | no | The pagination token to retrieve the next page. |
| scope | string | yes | Required. The organization to scope the request. Only organization policies within the scope will be analyzed. *… |

### Analyzes organization policies governed assets (Google Cloud resources or policies) under a scope. This RPC…
`GET https://zieapi.vercel.app/v1/analytics:googleapis-cloudasset/cloudasset-analyze-org-policy-governed-assets` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| constraint | string | no | Required. The name of the constraint to analyze governed assets for. The analysis only contains analyzed organization policies for the… |
| filter | string | no | The expression to filter AnalyzeOrgPolicyGovernedAssetsResponse.governed_assets. For governed resources, filtering is currently available… |
| pageSize | integer | no | The maximum number of items to return per page. If unspecified, AnalyzeOrgPolicyGovernedAssetsResponse.governed_assets will contain 100… |
| pageToken | string | no | The pagination token to retrieve the next page. |
| scope | string | yes | Required. The organization to scope the request. Only organization policies within the scope will be analyzed. The output assets will also… |

### Analyzes organization policies governed containers (projects, folders or organization) under a scope.
`GET https://zieapi.vercel.app/v1/analytics:googleapis-cloudasset/cloudasset-analyze-org-policy-governed-containers` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| constraint | string | no | Required. The name of the constraint to analyze governed containers for. The analysis only contains organization policies for the provided… |
| filter | string | no | The expression to filter AnalyzeOrgPolicyGovernedContainersResponse.governed_containers. Filtering is currently available for bare literal… |
| pageSize | integer | no | The maximum number of items to return per page. If unspecified, AnalyzeOrgPolicyGovernedContainersResponse.governed_containers will… |
| pageToken | string | no | The pagination token to retrieve the next page. |
| scope | string | yes | Required. The organization to scope the request. Only organization policies within the scope will be analyzed. The output containers will… |

### Batch gets the update history of assets that overlap a time window. For IAM_POLICY content, this API outputs…
`GET https://zieapi.vercel.app/v1/analytics:googleapis-cloudasset/cloudasset-batch-get-assets-history` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| assetNames | string | no | A list of the full names of the assets. See: https://cloud.google.com/asset-inventory/docs/resource-name-format Example:… |
| contentType | string | no | Optional. The content type. |
| parent | string | yes | Required. The relative name of the root asset. It can only be an organization number (such as "organizations/123"), a project ID (such as… |
| readTimeWindow.endTime | string | no | End time of the time window (inclusive). If not specified, the current timestamp is used instead. |
| readTimeWindow.startTime | string | no | Start time of the time window (exclusive). |
| relationshipTypes | string | no | Optional. A list of relationship types to output, for example: `INSTANCE_TO_INSTANCEGROUP`. This field should only be specified if… |

### Exports assets with time and resource types to a given Cloud Storage location/BigQuery table. For Cloud…
`POST https://zieapi.vercel.app/v1/analytics:googleapis-cloudasset/cloudasset-export-assets` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| parent | string | yes | Required. The relative name of the root asset. This can only be an organization number (such as "organizations/123"), a project ID (such… |
| body | object | yes | JSON request body |

### Issue a job that queries assets using a SQL statement compatible with [BigQuery…
`POST https://zieapi.vercel.app/v1/analytics:googleapis-cloudasset/cloudasset-query-assets` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| parent | string | yes | Required. The relative name of the root asset. This can only be an organization number (such as "organizations/123"), a project ID (such… |
| body | object | yes | JSON request body |

### Searches all IAM policies within the specified scope, such as a project, folder, or organization. The caller…
`GET https://zieapi.vercel.app/v1/analytics:googleapis-cloudasset/cloudasset-search-all-iam-policies` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| assetTypes | string | no | Optional. A list of asset types that the IAM policies are attached to. If empty, it will search the IAM policies that are attached to all… |
| orderBy | string | no | Optional. A comma-separated list of fields specifying the sorting order of the results. The default order is ascending. Add " DESC" after… |
| pageSize | integer | no | Optional. The page size for search result pagination. Page size is capped at 500 even if a larger value is given. If set to zero or a… |
| pageToken | string | no | Optional. If present, retrieve the next batch of results from the preceding call to this method. `page_token` must be the value of… |
| query | string | no | Optional. The query statement. See [how to construct a… |
| scope | string | yes | Required. A scope can be a project, a folder, or an organization. The search is limited to the IAM policies within the `scope`. The caller… |

### Searches all Google Cloud resources within the specified scope, such as a project, folder, or organization.…
`GET https://zieapi.vercel.app/v1/analytics:googleapis-cloudasset/cloudasset-search-all-resources` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| assetTypes | string | no | Optional. A list of asset types that this request searches for. If empty, it will search all the asset types [supported by search… |
| orderBy | string | no | Optional. A comma-separated list of fields specifying the sorting order of the results. The default order is ascending. Add " DESC" after… |
| pageSize | integer | no | Optional. The page size for search result pagination. Page size is capped at 500 even if a larger value is given. If set to zero or a… |
| pageToken | string | no | Optional. If present, then retrieve the next batch of results from the preceding call to this method. `page_token` must be the value of… |
| query | string | no | Optional. The query statement. See [how to construct a… |
| readMask | string | no | Optional. A comma-separated list of fields that you want returned in the results. The following fields are returned by default if not… |
| scope | string | yes | Required. A scope can be a project, a folder, or an organization. The search is limited to the resources within the `scope`. The caller… |

## Example
```
curl "https://zieapi.vercel.app/v1/analytics:googleapis-cloudasset/cloudasset-assets-list" \
  -H "x-api-key: $APIZIE_KEY" \
  -H "x-upstream-key: $PROVIDER_KEY"
```

## FAQ

### How do I call the Cloud Asset API API?
Create a free Apizie key, then send GET https://zieapi.vercel.app/v1/analytics:googleapis-cloudasset/cloudasset-assets-list with the header x-api-key. Every endpoint returns { project, data, timestamp }.

### Is the Cloud Asset API API free on Apizie?
Yes. The Free plan includes 1,000 requests a month at 100 requests a minute, no credit card. Cloud Asset API itself also needs your own key from googleapis.com.

### Can AI agents use the Cloud Asset API API?
Yes. Add the Apizie MCP server (https://zieapi.vercel.app/mcp) to Claude, ChatGPT, Cursor or VS Code, then ask in plain language. The agent calls run_scraper with project key analytics:googleapis-cloudasset.

### What is the status of the Cloud Asset API API?
Needs your own provider key (bring your own key)
