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

# Google Cloud Domains API

Google Cloud Domains lets you register, transfer, and manage domain name registrations directly from your Google Cloud project. The API exposes the full registration lifecycle: search for available domains, retrieve register and transfer parameters, configure DNS settings (Cloud DNS or custom name servers), manage WHOIS contact privacy, configure auto-renew, and export or transfer registrations out. Operations are scoped under projects and locations and return long-running operations for asynchronous registration steps.

## For AI agents

Search, register, transfer, configure, and renew domain names within a Google Cloud project, with full DNS, contact, and privacy controls.

## Scope

Does not handle DNS record management, SSL certificate issuance, or domain marketplace listings - use for domain registration and registrar-level configuration only.

## Capabilities

- Search availability and price for a candidate domain name and retrieve register parameters before purchase
- Register a new domain with contact details, DNS settings, and privacy options as a long-running operation
- Initiate a domain transfer in from another registrar using an authorization code and confirm transfer parameters
- Configure or update DNS settings to use Cloud DNS, Google Domains DNS, or custom name servers
- Update registrant, admin, and technical contacts and toggle WHOIS contact privacy
- Export a registration out of Cloud Domains or initiate transfer-out with an authorization code

## Use cases

### Programmatic Domain Registration for Multi-Tenant Apps

SaaS platforms that issue customer-branded subdomains or vanity domains use Cloud Domains to register names on behalf of tenants from within the same Google Cloud project that hosts their app. The API handles availability search, price disclosure, registration as a long-running operation, and automatic Cloud DNS configuration. Registration plus DNS readiness typically completes within minutes for supported TLDs.

Example prompt: Call retrieveRegisterParameters for 'tenant-foo.com', then POST /v1/{+parent}/registrations:register with yearly_price and contact details, and poll the returned operation until DONE.

### Domain Portfolio Migration to Google Cloud

Teams consolidating registrations from multiple registrars use the transfer endpoints to move domains into Cloud Domains, where billing rolls into the same Google Cloud invoice. The API verifies transfer eligibility, accepts the authorization code from the losing registrar, and configures DNS during the transfer window. Each transfer takes 5-7 days per registry rules; the API surfaces status throughout.

Example prompt: For each domain in a CSV, call retrieveTransferParameters, then registrations:transfer with the auth code, and report the operation name and current state.

### Contact and Privacy Compliance Updates

When organisations restructure or update legal contacts, they patch registration contacts across hundreds of domains in a single workflow. The API supports updating registrant, admin, technical, and billing contacts and toggling WHOIS privacy proxy settings. Bulk contact updates that would take hours per domain in a registrar UI complete in a single scripted run.

Example prompt: PATCH /v1/{+name} with updated registrant contact email and contactPrivacy=PRIVATE_CONTACT_DATA for every registration under the project.

### Agent-Driven Domain Operations via Jentic

An AI agent helping a developer launch a new product can search for available domains, present prices, register the chosen name, and wire up Cloud DNS records, all through Jentic. The agent does not need to learn the long-running operation pattern or the contacts schema; Jentic returns the right operation and its input shape on each step.

Example prompt: Search Jentic for 'register a new domain', load the registrations:register schema, execute it with the chosen TLD, and wait on the operation.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | /v1/{+location}/registrations:searchDomains | Search availability for candidate domains |
| GET | /v1/{+location}/registrations:retrieveRegisterParameters | Get price and options for registering a specific domain |
| GET | /v1/{+location}/registrations:retrieveTransferParameters | Get transfer-in eligibility and pricing |
| PATCH | /v1/{+name} | Update registration contacts, DNS, or privacy settings |
| DELETE | /v1/{+name} | Delete a registration before it has been completed |
| GET | /v1/{+name}/locations | List supported registration locations |

## Key resources

- **Registrations** — Search, register, transfer, list, get, patch, configure, export, and delete domain registrations
- **Register Parameters** — Retrieve price, supported privacy, and DNS options before registering
- **Transfer Parameters** — Verify eligibility and pricing for a transfer-in
- **Importable Domains** — List domains that can be imported from Google Domains into Cloud Domains
- **Operations** — Track long-running registration, transfer, and configuration operations

## Why Jentic

- **Setup:** Wiring the Cloud Domains API by hand means standing up Google OAuth2 with the right scopes, targeting domains.googleapis.com, and building the resource-path calls yourself for registration search and registrar configuration. Through Jentic you install once, import the Cloud Domains API from the API Directory, store the OAuth credential once, and your agent calls it.
- **Permission scoping:** Cloud Domains puts the resource name in the URL path (/v1/{+location}/registrations, /v1/{+name}), so a rule can pin your agent to one location or registration: it can search domains and retrieve register parameters there and nothing else. You choose the operations it may call, so destructive ones like deleting a registration are not included unless you add them.
- **Credential handling:** Your Google OAuth credential for Cloud Domains 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 'search for an available domain' or 'retrieve register parameters', and Jentic returns the matching Cloud Domains operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Cloud Resource Manager API** — Manages the GCP projects under which registrations live
- **Cloudflare API** — Cloudflare Registrar with at-cost domain pricing
- **Cloud IAM API** — Controls who can register or modify domains in the project

## FAQ

### What authentication does the Cloud Domains API use?

Cloud Domains uses Google OAuth 2.0 with the cloud-platform scope. Tokens are typically issued from a service account and passed as a Bearer token. Through Jentic the service account JSON is stored in the credential vault and the agent only ever sees a short-lived access token.

### Can I check domain availability without registering?

Yes. Call GET /v1/{+location}/registrations:searchDomains to list candidate matches and availability, then retrieveRegisterParameters for a specific domain to see the yearly_price, supported privacy modes, and notices that must be acknowledged on registration.

### What are the rate limits for the Cloud Domains API?

Cloud Domains shares the standard Google Cloud per-project quota (default 60 read requests per minute and 60 write requests per minute, with registration operations also subject to per-TLD registry limits). Quotas can be raised from the Cloud Console.

### How do I transfer a domain in through Jentic?

Search Jentic for 'transfer a domain in', load the schema for retrieveTransferParameters and registrations:transfer, then execute both with the authorization code from the losing registrar. Jentic returns the long-running operation name; poll until DONE.

### Is the Cloud Domains API free?

The API is free to call but domain registrations and renewals are billed at registry-set per-TLD prices, exposed through retrieveRegisterParameters. There is no markup beyond what Cloud Domains discloses before registration.

### How do I update WHOIS contact privacy on a registration?

PATCH /v1/{+name} with contactSettings.privacy set to PRIVATE_CONTACT_DATA, REDACTED_CONTACT_DATA, or PUBLIC_CONTACT_DATA. The change is scoped by registry rules - some TLDs do not support privacy redaction and the API surfaces this via the supportedPrivacy list on retrieveRegisterParameters.

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

Yes. Because your Jentic One instance is self-hosted, your own rules decide which Cloud Domains operations and which OAuth credential the agent may use. Since the API carries the resource name in the URL path, such as /v1/{+location}/registrations and /v1/{+name}, a rule can pin the agent to a single location or registration and allow only safe operations like searchDomains and retrieveRegisterParameters. Destructive calls such as deleting a registration are excluded unless you explicitly add them.
