canonical: https://jentic.com/apis/azure.com/azure-domains-api-client

# Microsoft Azure Domains API Client

Jentic publishes the only available OpenAPI specification for Domains API Client, keeping it validated and agent-ready. The Azure Domains API Client manages domain names purchased through Azure App Service Domains. It exposes 15 endpoints covering domain availability checks, recommendation lookups, domain CRUD, renewal, ownership identifiers, and a single sign-on request endpoint that hands off to the App Service domain control center.

## For AI agents

Check domain availability, get name recommendations, and register, renew, or manage Azure-purchased domain names along with their ownership identifiers.

## Scope

Does not manage DNS records, SSL certificates, or App Service custom domain bindings - use for Azure App Service Domain registration, renewal, and ownership only.

## Capabilities

- Check whether a candidate domain name is available for registration
- Generate domain name recommendations from seed keywords
- Register a new domain through Azure App Service Domains
- Renew an existing Azure-purchased domain
- Manage domain ownership identifiers used to prove control
- List every Azure-purchased domain in a subscription or resource group
- Generate a single sign-on URL for the domain control center

## Use cases

### Programmatic Domain Acquisition

When a product team needs a domain for a new launch, the Domains API lets an automation agent check availability with Domains_CheckAvailability, gather alternatives via Domains_ListRecommendations, and complete the purchase through Domains_CreateOrUpdate without anyone opening the portal. Domain ownership lives in the same subscription as the App Service that will consume it, so DNS can be wired up in the same automation run.

Example prompt: Call Domains_CheckAvailability for newproduct.com; if available, call Domains_CreateOrUpdate to register it in resource group brand-rg with consent provided.

### Bulk Domain Renewal

Companies with portfolios of dozens or hundreds of brand domains lose money to lapsed registrations. The Domains API exposes Domains_List to enumerate every domain the subscription owns and Domains_Renew to extend each one in a single batch. Combined with the expiry date returned by Domains_Get, an agent can flag any domain expiring in the next 30 days and renew automatically.

Example prompt: List every domain in subscription X and renew any whose expirationTime is within 30 days of today.

### Domain Ownership Verification at Scale

Some integrations require proof that a domain is owned by a specific Azure resource - for example, configuring a custom domain on App Service. The Domains API exposes ownership identifier endpoints so an agent can create or update a verification token, store the linked Azure resource ID, and confirm ownership without the portal flow.

Example prompt: Create a domain ownership identifier named appservice-verify on example.com pointing at the resource ID of the App Service that needs to claim the domain.

### AI Agent Domain Concierge via Jentic

An assistant integrated through Jentic can resolve a request like buy a sensible .com for our new fintech product end-to-end. It searches Jentic for check azure domain availability, loops through Domains_CheckAvailability for shortlisted names, calls Domains_ListRecommendations for alternatives, and completes the purchase via Domains_CreateOrUpdate. Credentials never leave your Jentic One instance.

Example prompt: Through Jentic, search for register a domain on azure, load Domains_CreateOrUpdate, and register newbrand.app in resource group launch-rg.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | /subscriptions/{subscriptionId}/providers/Microsoft.DomainRegistration/checkDomainAvailability | Check if a domain is available for registration |
| POST | /subscriptions/{subscriptionId}/providers/Microsoft.DomainRegistration/listDomainRecommendations | Get domain name recommendations |
| PUT | /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DomainRegistration/domains/{domainName} | Register or update a domain |
| POST | /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DomainRegistration/domains/{domainName}/renew | Renew a domain |
| GET | /subscriptions/{subscriptionId}/providers/Microsoft.DomainRegistration/domains | List all domains in a subscription |
| POST | /subscriptions/{subscriptionId}/providers/Microsoft.DomainRegistration/generateSsoRequest | Generate a single sign-on request to the domain control center |

## Key resources

- **Domains** — Register, list, get, update, delete, and renew Azure-purchased domains
- **Domain Availability** — Check whether a candidate domain is available for registration
- **Domain Recommendations** — Get keyword-based domain name suggestions
- **Domain Ownership Identifiers** — Manage tokens that prove ownership of a domain
- **Domain Control Center SSO** — Generate a single sign-on URL into the App Service domain management UI

## Why Jentic

- **Setup:** Wiring the Microsoft.DomainRegistration domains API by hand means acquiring Azure AD OAuth 2.0 bearer tokens, building the ARM URLs under management.azure.com, and polling the asynchronous registrar handshake on registration and renewal yourself. Through Jentic you install once, import the Domains API Client from the API Directory, store the Azure AD credential once, and your agent calls it.
- **Permission scoping:** The domain id sits in the URL path (/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DomainRegistration/domains/{domainName}), so a rule can pin your agent to one subscription and resource group and the domains inside it. You choose the operations it may call, so ones like registering or deleting a domain are not included unless you add them.
- **Credential handling:** Your Azure AD credential is stored once, encrypted, by your own Jentic One instance and injected as a short-lived bearer token at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'register a domain on azure' or 'check domain availability', and Jentic returns the matching Domains operation with its domain-name, contact, and consent input schema so the agent calls the right endpoint without browsing ARM docs.

## Related APIs

- **DNS Management Client** — Hosts DNS records on the domains registered via the Domains API
- **DomainRegistrationProvider API Client** — Lists the operations exposed by the Microsoft.DomainRegistration provider
- **Domain Services Resource Provider** — Manages Azure AD Domain Services rather than domain name registration

## FAQ

### Why is there no official OpenAPI spec for Domains API Client?

Microsoft Azure does not publish an OpenAPI specification. Jentic generates and maintains this spec so that AI agents and developers can call Domains API Client via structured tooling. It is validated against the live API and kept up to date. Get started with Jentic One, the self-hosted execution layer.

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

It uses Azure Active Directory OAuth 2.0 (azure_auth) against https://management.azure.com/. The principal needs at least Contributor on the target resource group. Through Jentic the underlying client secret stays in your Jentic One instance and the agent only receives a scoped bearer token.

### Can I check domain availability before registering?

Yes. POST /subscriptions/{subscriptionId}/providers/Microsoft.DomainRegistration/checkDomainAvailability accepts a name in the body and returns availability plus the registration price. Pair this with /listDomainRecommendations to get alternatives when the first choice is taken.

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

Standard Azure Resource Manager subscription-scoped throttling applies (broadly 12,000 reads per hour and 1,200 writes per hour). Domain registration also depends on the upstream registrar and is not instantaneous - Domains_CreateOrUpdate may take several minutes before provisioningState reads Succeeded.

### How do I register a domain through Jentic?

Run pip install jentic, search for register a domain on azure, load Domains_CreateOrUpdate, supply domainName, contactAdmin, contactBilling, contactRegistrant, contactTech, consent, and privacy, then execute. Poll Domains_Get until provisioningState is Succeeded.

### Does this API manage DNS records on the registered domain?

No. The Domains API only handles registration and lifecycle (purchase, renew, ownership). DNS records on the registered domain are managed through Azure DNS via the separate DnsManagementClient API.

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

Yes. Because you self-host Jentic One, your own rules decide which operations and credentials the agent may use. Since the subscription and resource group sit in the request path, you can pin the agent to a single subscription and resource group and the domains inside it. You also choose the exact operations it may call, so higher-impact ones like Domains_CreateOrUpdate or deleting a domain are excluded unless you add them, while you allow read-only calls such as Domains_CheckAvailability or Domains_List.
