1.0.0
OAS 3.0
The Open Domains public API lets you programmatically check subdomain availability, perform RDAP lookups, list DNS records, request new subdomains, and submit edit requests.
Supported Domains
This API manages DNS records across the following domains: living-the.life, localplayer.dev, is-not-a.dev, is-local.org, is-cool.dev, is-a-fullstack.dev
Authentication
Write operations (POST) require a Bearer API token. You can generate one in your Settings page, or obtain one programmatically using the Device OAuth flow described below.
Authorization: Bearer od_xxxxxxxxxxxxxxxx
For CLI tools, scripts, or applications that need to obtain an API token on behalf of a logged-in user, Open Domains supports a Device Authorization flow (similar to OAuth 2.0 Device Flow — RFC 8628).
1. Request a device code
POST https://api.open-domains.net/deviceAuth
Content-Type: application/json
{ "action": "request_code", "token_name": "My CLI Tool" }
Returns:
{
"device_code": "...",
"user_code": "ABCD-1234",
"verification_uri": "https://open-domains.com/activate",
"expires_in": 600
}
2. Direct the user to the verification URL
Show the user their user_code and ask them to visit /activate (or your app's activation page). They log in and approve the code there.
3. Poll for the API key
While the user is approving, poll every ~2 seconds:
POST https://api.open-domains.net/deviceAuth
Content-Type: application/json
{ "action": "poll", "device_code": "<device_code from step 1>" }
Possible responses:
status | Meaning |
|---|---|
pending | User hasn't approved yet — keep polling |
approved | Success! api_key is included in response |
denied | User denied — stop polling |
expired | Code expired (10 min) — restart the flow |
On approved, the response includes your API key:
{ "status": "approved", "api_key": "od_xxxxxxxxxxxxxxxx" }
Store this key securely and use it in the Authorization: Bearer header for all authenticated requests.