Cloud Resource Manager API

Creates, reads, and updates metadata for Google Cloud Platform resource containers.

Service: cloudresourcemanager.googleapis.com

To call this service, we recommend that you use the Google-providedclient libraries. If your application needs to use your own libraries to call this service, use the following information when you make the API requests.

Discovery document

ADiscovery Document is a machine-readable specification for describing and consuming REST APIs. It is used to build client libraries, IDE plugins, and other tools that interact with Google APIs. One service may provide multiple discovery documents. This service provides the following discovery documents:

Service endpoint

Aservice endpoint is a base URL that specifies the network address of an API service. One service might have multiple service endpoints. This service has the following service endpoint and all URIs below are relative to this service endpoint:

  • https://cloudresourcemanager.googleapis.com

REST Resource:v3.effectiveTags

Methods
listGET /v3/effectiveTags
Return a list of effective tags for the given Google Cloud resource, as specified inparent.

REST Resource:v3.folders

Methods
createPOST /v3/folders
Creates a folder in the resource hierarchy.
deleteDELETE /v3/{name=folders/*}
Requests deletion of a folder.
getGET /v3/{name=folders/*}
Retrieves a folder identified by the supplied resource name.
getIamPolicyPOST /v3/{resource=folders/*}:getIamPolicy
Gets the access control policy for a folder.
listGET /v3/folders
Lists the folders that are direct descendants of supplied parent resource.
movePOST /v3/{name=folders/*}:move
Moves a folder under a new resource parent.
patchPATCH /v3/{folder.name=folders/*}
Updates a folder, changing itsdisplay_name.
searchGET /v3/folders:search
Search for folders that match specific filter criteria.
setIamPolicyPOST /v3/{resource=folders/*}:setIamPolicy
Sets the access control policy on a folder, replacing any existing policy.
testIamPermissionsPOST /v3/{resource=folders/*}:testIamPermissions
Returns permissions that a caller has on the specified folder.
undeletePOST /v3/{name=folders/*}:undelete
Cancels the deletion request for a folder.

REST Resource:v3.folders.capabilities

Methods
getGET /v3/{name=folders/*/capabilities/*}
Retrieves the Capability identified by the supplied resource name.
patchPATCH /v3/{capability.name=folders/*/capabilities/*}
Updates the Capability.

REST Resource:v3.liens

Methods
createPOST /v3/liens
Create a Lien which applies to the resource denoted by theparent field.
deleteDELETE /v3/{name=liens/**}
Delete a Lien byname.
getGET /v3/{name=liens/**}
Retrieve a Lien byname.
listGET /v3/liens
List all Liens applied to theparent resource.

REST Resource:v3.locations.effectiveTagBindingCollections

Methods
getGET /v3/{name=locations/*/effectiveTagBindingCollections/*}
Returns effective tag bindings on a Google Cloud resource.

REST Resource:v3.locations.tagBindingCollections

Methods
getGET /v3/{name=locations/*/tagBindingCollections/*}
Returns tag bindings directly attached to a Google Cloud resource.
patchPATCH /v3/{tagBindingCollection.name=locations/*/tagBindingCollections/*}
Updates tag bindings directly attached to a Google Cloud resource.

REST Resource:v3.operations

Methods
getGET /v3/{name=operations/**}
Gets the latest state of a long-running operation.

REST Resource:v3.organizations

Methods
getGET /v3/{name=organizations/*}
Fetches an organization resource identified by the specified resource name.
getIamPolicyPOST /v3/{resource=organizations/*}:getIamPolicy
Gets the access control policy for an organization resource.
searchGET /v3/organizations:search
Searches organization resources that are visible to the user and satisfy the specified filter.
setIamPolicyPOST /v3/{resource=organizations/*}:setIamPolicy
Sets the access control policy on an organization resource.
testIamPermissionsPOST /v3/{resource=organizations/*}:testIamPermissions
Returns the permissions that a caller has on the specified organization.

REST Resource:v3.projects

Methods
createPOST /v3/projects
Request that a new project be created.
deleteDELETE /v3/{name=projects/*}
Marks the project identified by the specifiedname (for example,projects/415104041262) for deletion.
getGET /v3/{name=projects/*}
Retrieves the project identified by the specifiedname (for example,projects/415104041262).
getIamPolicyPOST /v3/{resource=projects/*}:getIamPolicy
Returns the IAM access control policy for the specified project, in the formatprojects/{ProjectIdOrNumber} e.g.
listGET /v3/projects
Lists projects that are direct children of the specified folder or organization resource.
movePOST /v3/{name=projects/*}:move
Move a project to another place in your resource hierarchy, under a new resource parent.
patchPATCH /v3/{project.name=projects/*}
Updates thedisplay_name and labels of the project identified by the specifiedname (for example,projects/415104041262).
searchGET /v3/projects:search
Search for projects that the caller has theresourcemanager.projects.get permission on, and also satisfy the specified query.
setIamPolicyPOST /v3/{resource=projects/*}:setIamPolicy
Sets the IAM access control policy for the specified project, in the formatprojects/{ProjectIdOrNumber} e.g.
testIamPermissionsPOST /v3/{resource=projects/*}:testIamPermissions
Returns permissions that a caller has on the specified project, in the formatprojects/{ProjectIdOrNumber} e.g.
undeletePOST /v3/{name=projects/*}:undelete
Restores the project identified by the specifiedname (for example,projects/415104041262).

REST Resource:v3.tagBindings

Methods
createPOST /v3/tagBindings
Creates a TagBinding between a TagValue and a Google Cloud resource.
deleteDELETE /v3/{name=tagBindings/**}
Deletes a TagBinding.
listGET /v3/tagBindings
Lists the TagBindings for the given Google Cloud resource, as specified withparent.

REST Resource:v3.tagKeys

Methods
createPOST /v3/tagKeys
Creates a new TagKey.
deleteDELETE /v3/{name=tagKeys/*}
Deletes a TagKey.
getGET /v3/{name=tagKeys/*}
Retrieves a TagKey.
getIamPolicyPOST /v3/{resource=tagKeys/*}:getIamPolicy
Gets the access control policy for a TagKey.
getNamespacedGET /v3/tagKeys/namespaced
Retrieves a TagKey by its namespaced name.
listGET /v3/tagKeys
Lists all TagKeys for a parent resource.
patchPATCH /v3/{tagKey.name=tagKeys/*}
Updates the attributes of the TagKey resource.
setIamPolicyPOST /v3/{resource=tagKeys/*}:setIamPolicy
Sets the access control policy on a TagKey, replacing any existing policy.
testIamPermissionsPOST /v3/{resource=tagKeys/*}:testIamPermissions
Returns permissions that a caller has on the specified TagKey.

REST Resource:v3.tagValues

Methods
createPOST /v3/tagValues
Creates a TagValue as a child of the specified TagKey.
deleteDELETE /v3/{name=tagValues/*}
Deletes a TagValue.
getGET /v3/{name=tagValues/*}
Retrieves a TagValue.
getIamPolicyPOST /v3/{resource=tagValues/*}:getIamPolicy
Gets the access control policy for a TagValue.
getNamespacedGET /v3/tagValues/namespaced
Retrieves a TagValue by its namespaced name.
listGET /v3/tagValues
Lists all TagValues for a specific TagKey.
patchPATCH /v3/{tagValue.name=tagValues/*}
Updates the attributes of the TagValue resource.
setIamPolicyPOST /v3/{resource=tagValues/*}:setIamPolicy
Sets the access control policy on a TagValue, replacing any existing policy.
testIamPermissionsPOST /v3/{resource=tagValues/*}:testIamPermissions
Returns permissions that a caller has on the specified TagValue.

REST Resource:v3.tagValues.tagHolds

Methods
createPOST /v3/{parent=tagValues/*}/tagHolds
Creates a TagHold.
deleteDELETE /v3/{name=tagValues/*/tagHolds/*}
Deletes a TagHold.
listGET /v3/{parent=tagValues/*}/tagHolds
Lists TagHolds under a TagValue.

REST Resource:v2beta1.folders

Methods
createPOST /v2beta1/folders
Creates a Folder in the resource hierarchy.
deleteDELETE /v2beta1/{name=folders/*}
Requests deletion of a Folder.
getGET /v2beta1/{name=folders/*}
Retrieves a Folder identified by the supplied resource name.
getIamPolicyPOST /v2beta1/{resource=folders/*}:getIamPolicy
Gets the access control policy for a Folder.
listGET /v2beta1/folders
Lists the Folders that are direct descendants of supplied parent resource.
movePOST /v2beta1/{name=folders/*}:move
Moves a Folder under a new resource parent.
patchPATCH /v2beta1/{folder.name=folders/*}
Updates a Folder, changing its display_name.
searchPOST /v2beta1/folders:search
Search for folders that match specific filter criteria.
setIamPolicyPOST /v2beta1/{resource=folders/*}:setIamPolicy
Sets the access control policy on a Folder, replacing any existing policy.
testIamPermissionsPOST /v2beta1/{resource=folders/*}:testIamPermissions
Returns permissions that a caller has on the specified Folder.
undeletePOST /v2beta1/{name=folders/*}:undelete
Cancels the deletion request for a Folder.

REST Resource:v2.folders

Methods
createPOST /v2/folders
Creates a Folder in the resource hierarchy.
deleteDELETE /v2/{name=folders/*}
Requests deletion of a Folder.
getGET /v2/{name=folders/*}
Retrieves a Folder identified by the supplied resource name.
getIamPolicyPOST /v2/{resource=folders/*}:getIamPolicy
Gets the access control policy for a Folder.
listGET /v2/folders
Lists the Folders that are direct descendants of supplied parent resource.
movePOST /v2/{name=folders/*}:move
Moves a Folder under a new resource parent.
patchPATCH /v2/{folder.name=folders/*}
Updates a Folder, changing its display_name.
searchPOST /v2/folders:search
Search for folders that match specific filter criteria.
setIamPolicyPOST /v2/{resource=folders/*}:setIamPolicy
Sets the access control policy on a Folder, replacing any existing policy.
testIamPermissionsPOST /v2/{resource=folders/*}:testIamPermissions
Returns permissions that a caller has on the specified Folder.
undeletePOST /v2/{name=folders/*}:undelete
Cancels the deletion request for a Folder.

REST Resource:v1beta1.organizations

Methods
getGET /v1beta1/{name=organizations/*}
Fetches an Organization resource identified by the specified resource name.
getIamPolicyPOST /v1beta1/{resource=organizations/*}:getIamPolicy
Gets the access control policy for an Organization resource.
listGET /v1beta1/organizations
Lists Organization resources that are visible to the user and satisfy the specified filter.
setIamPolicyPOST /v1beta1/{resource=organizations/*}:setIamPolicy
Sets the access control policy on an Organization resource.
testIamPermissionsPOST /v1beta1/{resource=organizations/*}:testIamPermissions
Returns permissions that a caller has on the specified Organization.
update
(deprecated)
PUT /v1beta1/{name=organizations/*}
Updates an Organization resource identified by the specified resource name.

REST Resource:v1beta1.projects

Methods
createPOST /v1beta1/projects
Creates a Project resource.
deleteDELETE /v1beta1/projects/{projectId}
Marks the Project identified by the specifiedproject_id (for example,my-project-123) for deletion.
getGET /v1beta1/projects/{projectId}
Retrieves the Project identified by the specifiedproject_id (for example,my-project-123).
getAncestryPOST /v1beta1/projects/{projectId}:getAncestry
Gets a list of ancestors in the resource hierarchy for the Project identified by the specifiedproject_id (for example,my-project-123).
getIamPolicyPOST /v1beta1/projects/{resource}:getIamPolicy
Returns the IAM access control policy for the specified Project.
listGET /v1beta1/projects
Lists Projects that the caller has theresourcemanager.projects.get permission on and satisfy the specified filter.
setIamPolicyPOST /v1beta1/projects/{resource}:setIamPolicy
Sets the IAM access control policy for the specified Project.
testIamPermissionsPOST /v1beta1/projects/{resource}:testIamPermissions
Returns permissions that a caller has on the specified Project.
undeletePOST /v1beta1/projects/{projectId}:undelete
Restores the Project identified by the specifiedproject_id (for example,my-project-123).
updatePUT /v1beta1/projects/{projectId}
Updates the attributes of the Project identified by the specifiedproject_id (for example,my-project-123).

REST Resource:v1.folders

Methods
clearOrgPolicyPOST /v1/{resource=folders/*}:clearOrgPolicy
Clears aPolicy from a resource.
getEffectiveOrgPolicyPOST /v1/{resource=folders/*}:getEffectiveOrgPolicy
Gets the effectivePolicy on a resource.
getOrgPolicyPOST /v1/{resource=folders/*}:getOrgPolicy
Gets aPolicy on a resource.
listAvailableOrgPolicyConstraintsPOST /v1/{resource=folders/*}:listAvailableOrgPolicyConstraints
ListsConstraints that could be applied on the specified resource.
listOrgPoliciesPOST /v1/{resource=folders/*}:listOrgPolicies
Lists all thePolicies set for a particular resource.
setOrgPolicyPOST /v1/{resource=folders/*}:setOrgPolicy
Updates the specifiedPolicy on the resource.

REST Resource:v1.liens

Methods
createPOST /v1/liens
Create a Lien which applies to the resource denoted by theparent field.
deleteDELETE /v1/{name=liens/**}
Delete a Lien byname.
getGET /v1/{name=liens/**}
Retrieve a Lien byname.
listGET /v1/liens
List all Liens applied to theparent resource.

REST Resource:v1.operations

Methods
getGET /v1/{name=operations/**}
Gets the latest state of a long-running operation.

REST Resource:v1.organizations

Methods
clearOrgPolicyPOST /v1/{resource=organizations/*}:clearOrgPolicy
Clears aPolicy from a resource.
getGET /v1/{name=organizations/*}
Fetches an Organization resource identified by the specified resource name.
getEffectiveOrgPolicyPOST /v1/{resource=organizations/*}:getEffectiveOrgPolicy
Gets the effectivePolicy on a resource.
getIamPolicyPOST /v1/{resource=organizations/*}:getIamPolicy
Gets the access control policy for an Organization resource.
getOrgPolicyPOST /v1/{resource=organizations/*}:getOrgPolicy
Gets aPolicy on a resource.
listAvailableOrgPolicyConstraintsPOST /v1/{resource=organizations/*}:listAvailableOrgPolicyConstraints
ListsConstraints that could be applied on the specified resource.
listOrgPoliciesPOST /v1/{resource=organizations/*}:listOrgPolicies
Lists all thePolicies set for a particular resource.
searchPOST /v1/organizations:search
Searches Organization resources that are visible to the user and satisfy the specified filter.
setIamPolicyPOST /v1/{resource=organizations/*}:setIamPolicy
Sets the access control policy on an Organization resource.
setOrgPolicyPOST /v1/{resource=organizations/*}:setOrgPolicy
Updates the specifiedPolicy on the resource.
testIamPermissionsPOST /v1/{resource=organizations/*}:testIamPermissions
Returns permissions that a caller has on the specified Organization.

REST Resource:v1.projects

Methods
clearOrgPolicyPOST /v1/{resource=projects/*}:clearOrgPolicy
Clears aPolicy from a resource.
createPOST /v1/projects
Request that a new Project be created.
deleteDELETE /v1/projects/{projectId}
Marks the Project identified by the specifiedproject_id (for example,my-project-123) for deletion.
getGET /v1/projects/{projectId}
Retrieves the Project identified by the specifiedproject_id (for example,my-project-123).
getAncestryPOST /v1/projects/{projectId}:getAncestry
Gets a list of ancestors in the resource hierarchy for the Project identified by the specifiedproject_id (for example,my-project-123).
getEffectiveOrgPolicyPOST /v1/{resource=projects/*}:getEffectiveOrgPolicy
Gets the effectivePolicy on a resource.
getIamPolicyPOST /v1/projects/{resource}:getIamPolicy
Returns the IAM access control policy for the specified Project.
getOrgPolicyPOST /v1/{resource=projects/*}:getOrgPolicy
Gets aPolicy on a resource.
listGET /v1/projects
Lists Projects that the caller has theresourcemanager.projects.get permission on and satisfy the specified filter.
listAvailableOrgPolicyConstraintsPOST /v1/{resource=projects/*}:listAvailableOrgPolicyConstraints
ListsConstraints that could be applied on the specified resource.
listOrgPoliciesPOST /v1/{resource=projects/*}:listOrgPolicies
Lists all thePolicies set for a particular resource.
setIamPolicyPOST /v1/projects/{resource}:setIamPolicy
Sets the IAM access control policy for the specified Project.
setOrgPolicyPOST /v1/{resource=projects/*}:setOrgPolicy
Updates the specifiedPolicy on the resource.
testIamPermissionsPOST /v1/projects/{resource}:testIamPermissions
Returns permissions that a caller has on the specified Project.
undeletePOST /v1/projects/{projectId}:undelete
Restores the Project identified by the specifiedproject_id (for example,my-project-123).
updatePUT /v1/projects/{projectId}
Updates the attributes of the Project identified by the specifiedproject_id (for example,my-project-123).

Except as otherwise noted, the content of this page is licensed under theCreative Commons Attribution 4.0 License, and code samples are licensed under theApache 2.0 License. For details, see theGoogle Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.

Last updated 2025-07-01 UTC.