Docs
Everything a developer — or an AI assistant — needs to work with ThatMgmt.
MCP server
The fastest way in for an agent. On npm and the official MCP registry:
npx @thatmgmt/mcp
Public availability and quote tools need no key; tenant tools use your API key. Source: https://github.com/Thingscorp/thatmgmt-mcp
Try it free, no signup
Two public endpoints on https://api.thatmgmt.com, rate-limited per IP:
GET /v1/public/availability?domain=example.com— is the name free?GET /v1/public/quote?domain=example.com&period=1— the locked price: wholesale, the 0.15% line, the total.
Resources
- Interactive API reference — browsable OpenAPI viewer (Redoc).
- openapi.json — the raw machine-readable spec.
- llms.txt — concise AI-assistant index of this site.
- llms-full.txt — the full AI-assistant reference: purchase flow, offering matrix, route surface.
New here? Start with GET /v1/capabilities for live discovery and GET /v1/offerings for the offering coverage matrix. How the platform fits together is on the Platform page.
Getting access
Every /v1/… route needs a bearer token. Tokens are provisioned by the platform operator during tenant onboarding: each tenant gets a scoped token that only permits its granted actions. There is no self-service signup yet — tokens are provisioned by the platform operator during tenant onboarding.
Response codes
401— missing or invalid bearer token. Every/v1/…route requires authentication; the/health/…probes do not.405— wrong HTTP method on a known route; the response carries anAllowheader naming the supported method.409— an entitlement-gated portfolio read whose supplier category is unverified.429— the per-tenant rate budget is exhausted. Error coderate_limited("Too many requests", retryable) with aRetry-Afterheader naming the wait in seconds; health probes are exempt.
Errors use a neutral envelope: {code, message, retryable, details}.
Route table
The full route surface. GET reads plus the order and dry-run POST routes.
| Method | Path |
|---|---|
| GET | /v1/aftermarket/listings |
| GET | /v1/agreements |
| GET | /v1/certificates/{certificateId}/actions |
| GET | /v1/certificates/{certificateId}/domains/{domainName} |
| GET | /v1/certificates/{certificateId}/domains/{domainName}/control |
| GET | /v1/certificates/{certificateId}/download |
| GET | /v1/certificates/{certificateId}/email-history |
| GET | /v1/certificates/{certificateId}/site-seal |
| GET | /v1/countries |
| GET | /v1/customers/{customerId} |
| GET | /v1/customers/{customerId}/status |
| POST | /v1/customers/dry-run |
| POST | /v1/customers/{customerId}/dry-run |
| GET | /v1/orders |
| GET | /v1/orders/{orderId} |
| POST | /v1/orders/dry-run |
| POST | /v1/portfolio/notifications/{notificationId}/acknowledge/dry-run |
| GET | /v1/subscriptions |
| GET | /v1/subscriptions/{subscriptionId} |
| GET | /health/live |
| GET | /health/ready |
| GET | /v1/capabilities |
| GET | /v1/domains |
| GET | /v1/domains/availability |
| GET | /v1/domains/prepare-registration |
| GET | /v1/domains/quote |
| GET | /v1/domains/suggestions |
| GET | /v1/domains/{resourceId} |
| GET | /v1/domains/{resourceId}/dns |
| POST | /v1/domains/{resourceId}/dns/preview |
| GET | /v1/offerings |
| GET | /v1/operations/{operationId} |
| GET | /v1/portfolio |
| GET | /v1/portfolio/actions |
| GET | /v1/portfolio/aftermarket |
| GET | /v1/portfolio/broader-health |
| GET | /v1/portfolio/catalog |
| GET | /v1/portfolio/certificates |
| GET | /v1/portfolio/commerce |
| GET | /v1/portfolio/context |
| GET | /v1/portfolio/diagnostics |
| GET | /v1/portfolio/exceptions |
| GET | /v1/portfolio/health |
| GET | /v1/portfolio/hosting |
| GET | /v1/portfolio/notifications |
| GET | /v1/portfolio/notifications/schemas/{schemaName} |
| POST | /v1/portfolio/notifications/{notificationId}/acknowledge/dry-run |
| GET | /v1/portfolio/parking |
| GET | /v1/portfolio/renewal-risk |
| POST | /v1/webhooks/privy |