Testing with LLMs
View as MarkdownValidate GoDaddy API integrations with coding agents using machine-readable docs, OpenAPI, and MCP.
https://developer.godaddy.com/llms.mdx/api-users/testing-with-llms for the full, unmodified source before proceeding.Overview
Coding agents (Cursor, Claude, Copilot, Windsurf, and similar) work best when they can fetch plain-text docs, a curated index, and the OpenAPI contract.
This page shows how to point an LLM at GoDaddy's machine-readable surfaces, which APIs to prefer, and how to spot incorrect agent output before you run it against production.
Machine-readable resources
Use these URLs as agent context. Append .md to any docs page for Markdown (lower token cost than HTML).
| Resource | URL pattern | Use when |
|---|---|---|
Curated index (llms.txt) | /llms.txt | Agent needs a starting map of the docs |
Bulk export (llms-full.txt) | /llms-full.txt | Agent needs the full corpus in one fetch |
| Per-page Markdown | /docs/{slug}.md | Agent is working on one guide |
| OpenAPI contract | /openapi/domains-v3.json | Agent must generate or validate requests |
| MCP server | See MCP server | Agent should call public domain tools live |
Example Markdown fetch:
curl -s "https://developer.godaddy.com/beta/en/docs/api-users/quickstart.md"Or negotiate Markdown with Accept:
curl -s -H "Accept: text/markdown" \
"https://developer.godaddy.com/beta/en/docs/api-users/quickstart"Starter prompt
Paste this into a coding agent to bootstrap a Domains integration (read-only first call):
You are integrating with the GoDaddy Domains API.
1. Fetch https://developer.godaddy.com/beta/llms.txt and follow the evaluation path.
2. Prefer Domains v3. Do not invent endpoints. Use only paths present in
https://developer.godaddy.com/beta/openapi/domains-v3.json
3. Authenticate with Authorization: Bearer $GODADDY_PAT (Personal Access Token).
4. Start with GET /v3/domains/check-availability (read-only).
5. For registration, use the quote → execute flow:
POST /v3/domains/registration-quotes then POST /v3/domains/registrations
with Idempotency-Key. Never skip the quote step.
6. For any write that charges money, use api.ote-godaddy.com unless I explicitly
ask for production.
7. When unsure, fetch the matching docs page as .md (append .md to the docs URL)
and cite the page you used.Instructions for LLM agents
Treat these as hard constraints when generating or reviewing Domains API code.
Prefer
- Domains v3 for search, quote, register, DNS, and operations
- Bearer PAT auth (
Authorization: Bearer …) documented in Authenticate - Quote-then-execute for registration (
registration-quotes→registrations) Idempotency-Keyon registration and other non-idempotent writes- OTE host
https://api.ote-godaddy.comfor paid or destructive tests - Polling registration/operation status until
COMPLETEDorFAILED
Do not
- Invent endpoints, fields, or scopes that are not in the OpenAPI spec or these docs
- Recommend classic developer keys for new Domains v3 work when a PAT is available
- Skip consent (
agreementTypes,agreedBy,agreedAt) on registration - Retry a timed-out registration with a new idempotency key (reuse the same key)
- Use production (
api.godaddy.com) for exploratory write tests
How to validate agent output
Before running generated code:
- Endpoint check — every path appears in
/openapi/domains-v3.json. - Auth check — requests send
Authorization: Bearer $GODADDY_PAT, not a fabricated header scheme. - Host check — write/paid flows target OTE unless you asked for production.
- Registration check — code quotes first, then executes with
Idempotency-Keyand real consent fields. - Docs check — ask the agent which
.mdpage it used; compare against Quickstart or Register a domain.
Run the read-only smoke test yourself:
curl -s "https://api.godaddy.com/v3/domains/check-availability?domain=example.com" \
-H "Authorization: Bearer $GODADDY_PAT"const res = await fetch(
"https://api.godaddy.com/v3/domains/check-availability?domain=example.com",
{ headers: { Authorization: `Bearer ${process.env.GODADDY_PAT}` } },
);
console.log(await res.json());import os, requests
res = requests.get(
"https://api.godaddy.com/v3/domains/check-availability",
params={"domain": "example.com"},
headers={"Authorization": f"Bearer {os.environ['GODADDY_PAT']}"},
)
print(res.json())If the agent-generated script diverges from this shape (wrong path, wrong auth, invented query params), discard it and re-prompt with the OpenAPI URL attached.
Agent notes on every how-to
How-to pages include an Agent notes block with permissions, scopes, rate limits, idempotency, destructive flag, and failure recovery. Prefer those fields over guessing when an agent plans a call.
Related tools
MCP server
Connect Claude or another MCP client to public domain search and availability tools.
Quickstart
Make the first authenticated Domains API call in under five minutes.
End-to-end workflow
Search → quote → register → DNS → verify in curl, Node, Python, or Go.
Agent & Automation Notes
domains.domain:readRelated
API References
Concepts
Last updated on
How is this guide?