canonical: https://jentic.com/apis/googleapis.com/cloudresourcemanager

# Google Cloud Resource Manager API

The Cloud Resource Manager API creates, reads, and updates metadata for Google Cloud Platform resource containers including projects, folders, organizations, tag keys, and tag values. It exposes hierarchical IAM controls for managing access to those containers and supports lien protection to prevent accidental project deletion. Resource Manager is the foundation for organizing GCP resources at scale and underpins billing, policy enforcement, and asset inventory across the platform.

## For AI agents

Programmatically create, list, and update GCP projects, folders, organizations, and tags, plus manage IAM bindings on those resource containers. Lets agents structure tenancy and apply policy across a Google Cloud hierarchy.

## Scope

Does not provision compute, storage, or networking resources, and does not manage service account keys - use for the GCP project, folder, organization, and tag hierarchy only.

## Capabilities

- Create and undelete GCP projects under a parent folder or organization
- Search and list folders, organizations, and projects accessible to the caller
- Get, set, and test IAM policies on projects, folders, and organizations
- Apply tag keys and tag values to resources for policy and billing segmentation
- Place liens on projects to prevent unintended deletion
- Look up effective tags inherited through the resource hierarchy

## Use cases

### Programmatic Project Provisioning

Automate the creation of new Google Cloud projects for each customer, environment, or workload. Cloud Resource Manager exposes project create, get, and update operations alongside folder placement so platform teams can spin up isolated tenants on demand and attach the correct billing account and tags. End-to-end provisioning typically completes in under a minute per project.

Example prompt: Create a new project named acme-prod-eu under folder folders/12345 and tag it with environment=production

### Hierarchy-Wide IAM Audit

Enumerate organizations, folders, and projects to retrieve their IAM policies and identify over-permissioned principals or stale bindings. Cloud Resource Manager pairs search endpoints with getIamPolicy on every container, giving compliance teams a single source for hierarchy-wide access reviews without scraping the console.

Example prompt: Iterate through every project in organizations/9999 and return any binding granting roles/owner to a non-corporate identity

### Tag-Driven Cost Allocation

Apply tag keys and tag values to projects and folders so billing exports and policy controls can group spend by team, product, or environment. Cloud Resource Manager creates tag bindings programmatically, letting finance and platform teams roll out a consistent tagging taxonomy across thousands of projects without manual click-ops.

Example prompt: Create tag value tagValues/cost-center-42 under tag key environment and bind it to project projects/acme-prod-eu

### Agent-Driven Landing Zone Setup

An AI agent invoked through Jentic can stand up a complete landing zone by calling Cloud Resource Manager to create the folder structure, provision projects, and apply baseline IAM and tag policies. Because Jentic returns the operation schema directly, the agent does not need to crawl Google's discovery docs to build each request.

Example prompt: Use Jentic to search 'create gcp project', load the projects.create schema, and provision three projects under folders/dev, folders/stage, and folders/prod

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | /v3/projects | Create a new GCP project |
| GET | /v3/projects:search | Search projects accessible to the caller |
| GET | /v3/folders | List folders under a parent |
| POST | /v3/folders | Create a folder in the resource hierarchy |
| GET | /v3/effectiveTags | Look up effective tags inherited on a resource |
| POST | /v3/liens | Place a lien to block project deletion |

## Key resources

- **Projects** — Create, get, update, delete, undelete, search, and move GCP projects
- **Folders** — Create, list, search, and move folders within an organization
- **Organizations** — Search organizations and read their metadata
- **TagKeys and TagValues** — Define and manage the tagging taxonomy applied across the hierarchy
- **TagBindings** — Attach tag values to projects, folders, and other resources
- **Liens** — Place and remove deletion protection on projects
- **IAM Policies** — Get, set, and test IAM policies on every container type

## Why Jentic

- **Setup:** Wiring the Cloud Resource Manager API by hand means setting up Google OAuth 2.0, minting short-lived tokens against the cloud-platform scope, and addressing projects and folders by resource name against cloudresourcemanager.googleapis.com yourself. Through Jentic you install once, import the Cloud Resource Manager API from the API Directory, store the OAuth credential once, and your agent calls it.
- **Permission scoping:** Cloud Resource Manager puts the project and folder resource names in the URL path (/v3/{+name}, /v3/{+name}:move), so a rule can pin your agent to one folder: it can search and create projects under it and nothing else. You choose the operations it may call, so move, undelete, or setIamPolicy are not included unless you add them.
- **Credential handling:** Your Cloud Resource Manager OAuth credential is stored once, encrypted, by your own Jentic One instance and injected at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'create a GCP project' or 'set an IAM policy on a folder', and Jentic returns the matching Resource Manager operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Identity and Access Management (IAM) API** — Manages service accounts, roles, and keys that Resource Manager IAM policies reference
- **Compute Engine API** — Provisions VMs and networks inside the projects Resource Manager creates
- **Cloud Deployment Manager API** — Declarative resource provisioning that can also create projects and apply IAM

## FAQ

### What authentication does the Cloud Resource Manager API use?

It uses Google OAuth 2.0 with scopes such as https://www.googleapis.com/auth/cloud-platform and https://www.googleapis.com/auth/cloud-platform.read-only. Through Jentic, the OAuth refresh token and client secret are stored in your Jentic One instance and never exposed to the agent runtime.

### Can I create new GCP projects with the Cloud Resource Manager API?

Yes. Send a POST to /v3/projects with the parent folder or organization, a project ID, and a display name. The endpoint returns a long-running operation that you can poll until the project is fully provisioned.

### What are the rate limits for the Cloud Resource Manager API?

Google enforces per-project read and write quotas on Resource Manager, with mutating operations like project creation and IAM policy updates limited far more aggressively than reads. Run heavy hierarchy scans against the search endpoints with backoff and request quota increases for large landing-zone rollouts.

### How do I apply tag bindings to a project through Jentic?

Search Jentic for 'apply tag binding to gcp project', load the tagBindings.create schema, and execute a call against /v3/tagBindings with the parent project resource name and the tag value. Jentic returns the input schema so the agent can fill the required fields without reading Google's discovery doc.

### Is the Cloud Resource Manager API free?

The API itself has no per-call charge - you only pay for the underlying Google Cloud resources you create. Quota limits apply at the project level even when usage is free.

### How does the API handle deletion protection?

Place a lien on a project via /v3/liens to block deletion until the lien is removed. Liens are useful guard rails when an agent or CI pipeline has broad project-write permissions but you want explicit confirmation before destructive actions.

### Can I limit what my agent is allowed to do with the Cloud Resource Manager API?

Yes. Because you self-host Jentic One, your own rules decide which Cloud Resource Manager operations and OAuth credential the agent may use. Since the API puts project and folder resource names in the URL path (for example /v3/{+name} and /v3/{+name}:move), you can pin the agent to a single folder so it can only search and create projects under it. You choose the operations it may call, so sensitive actions like move, undelete, and setIamPolicy stay unavailable unless you explicitly add them.
