Domains API reference
Domain discovery, account-owned verified Domains, and project-owned exact Hostnames.
Published contracts: @socra/domain-api@0.0.5.
Base URL
https://domain.socra.cloudDomain availability
Current registrar availability and premium pricing for candidate internet domains.
Search domain availability
POST
/v1/domain-availability/searchRequest body
domainsstring[]requiredmin items: 1 · max items: 50Response
2 fields
dataobject[]required
dataobject[]requireddomainstringrequiredmin length: 3 · max length: 253 · pattern: ^(?=.{3,253}$)(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\.)+[a-z]{2,63}$status"available" | "unavailable" | "unknown"requiredpremiumbooleanrequiredpremium_registration_pricenumber | nullrequiredpremium_renewal_pricenumber | nullrequiredpremium_transfer_pricenumber | nullrequiredpremium_restore_pricenumber | nullrequiredicann_feenumber | nullrequiredeap_feenumber | nullrequiredcurrencystringrequiredmin length: 3 · max length: 3errorstring | nullrequiredchecked_atcustomrequiredDomain pricing
Cached registrar pricing by TLD, action, and duration. Prices are estimates until checkout.
Quote domain pricing
POST
/v1/domain-pricing/quoteRequest body
tldsstring[]requiredmin items: 1 · max items: 50action"register" | "renew" | "transfer" | "reactivate"requireddurationintegerrequiredmin: 1 · max: 10Response
3 fields
dataobject[]required
dataobject[]requiredtldstringrequiredmin length: 2 · max length: 127 · pattern: ^(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\.)*[a-z]{2,63}$action"register" | "renew" | "transfer" | "reactivate"requireddurationintegerrequiredgreater than: 0 · max: 9007199254740991duration_type"year"requiredpricenumber | nullrequiredadditional_costnumber | nullrequiredtotal_pricenumber | nullrequiredregular_pricenumber | nullrequiredyour_pricenumber | nullrequiredpromotion_pricenumber | nullrequiredcurrencystringrequiredmin length: 3 · max length: 3errorstring | nullrequiredfetched_atcustomrequiredexpires_atcustomrequiredDomains
An account-owned DNS namespace proven by a DNS TXT challenge.
Create domain
POST
/v1/domainsRequest body
hostnamestringrequiredmin length: 3 · max length: 253 · pattern: ^(?=.{3,253}$)(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\.)+[a-z]{2,63}$Response
8 fields
idcustomrequiredhostnamestringrequiredmin length: 3 · max length: 253 · pattern: ^(?=.{3,253}$)(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\.)+[a-z]{2,63}$status"pending" | "verified" | "disabled"requiredverification_namestringrequiredverification_valuestringrequiredverified_atcustom | nullrequiredcreated_atcustomrequiredupdated_atcustomrequiredList domains
GET
/v1/domainsQuery parameters
hostnamestringoptionalmin length: 3 · max length: 253 · pattern: ^(?=.{3,253}$)(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\.)+[a-z]{2,63}$status"pending" | "verified" | "disabled"optionallimitintegeroptionalmin: 1 · max: 100afterstringoptionalResponse
2 fields
dataobject[]required
dataobject[]requiredidcustomrequiredhostnamestringrequiredmin length: 3 · max length: 253 · pattern: ^(?=.{3,253}$)(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\.)+[a-z]{2,63}$status"pending" | "verified" | "disabled"requiredverification_namestringrequiredverification_valuestringrequiredverified_atcustom | nullrequiredcreated_atcustomrequiredupdated_atcustomrequiredhas_morebooleanrequiredGet domain
GET
/v1/domains/{id}Path parameters
idcustomrequiredQuery parameters
No query parameters
Response
8 fields
idcustomrequiredhostnamestringrequiredmin length: 3 · max length: 253 · pattern: ^(?=.{3,253}$)(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\.)+[a-z]{2,63}$status"pending" | "verified" | "disabled"requiredverification_namestringrequiredverification_valuestringrequiredverified_atcustom | nullrequiredcreated_atcustomrequiredupdated_atcustomrequiredUpdate domain
PATCH
/v1/domains/{id}Path parameters
idcustomrequiredRequest body
status"pending" | "disabled"requiredResponse
8 fields
idcustomrequiredhostnamestringrequiredmin length: 3 · max length: 253 · pattern: ^(?=.{3,253}$)(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\.)+[a-z]{2,63}$status"pending" | "verified" | "disabled"requiredverification_namestringrequiredverification_valuestringrequiredverified_atcustom | nullrequiredcreated_atcustomrequiredupdated_atcustomrequiredVerify domain DNS
POST
/v1/domains/{id}/verifyPath parameters
idcustomrequiredRequest body
No request body
Response
8 fields
idcustomrequiredhostnamestringrequiredmin length: 3 · max length: 253 · pattern: ^(?=.{3,253}$)(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\.)+[a-z]{2,63}$status"pending" | "verified" | "disabled"requiredverification_namestringrequiredverification_valuestringrequiredverified_atcustom | nullrequiredcreated_atcustomrequiredupdated_atcustomrequiredDelete domain
DELETE
/v1/domains/{id}Path parameters
idcustomrequiredQuery parameters
No query parameters
Response
No response body
Hostnames
An exact globally unique hostname claimed by one project beneath a verified account Domain.
Claim hostname
POST
/v1/hostnamesRequest body
project_idcustomrequiredhostnamestringrequiredmin length: 3 · max length: 253 · pattern: ^(?=.{3,253}$)(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\.)+[a-z]{2,63}$Response
8 fields
idcustomrequireddomain_idcustomrequiredproject_idcustomrequiredhostnamestringrequiredmin length: 3 · max length: 253 · pattern: ^(?=.{3,253}$)(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\.)+[a-z]{2,63}$status"active" | "disabled"requiredrouting_targetstringrequiredmin length: 3 · max length: 253 · pattern: ^(?=.{3,253}$)(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\.)+[a-z]{2,63}$created_atcustomrequiredupdated_atcustomrequiredList hostnames
GET
/v1/hostnamesQuery parameters
project_idcustomrequiredhostnamestringoptionalmin length: 3 · max length: 253 · pattern: ^(?=.{3,253}$)(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\.)+[a-z]{2,63}$domain_idcustomoptionalstatus"active" | "disabled"optionallimitintegeroptionalmin: 1 · max: 100afterstringoptionalResponse
2 fields
dataobject[]required
dataobject[]requiredidcustomrequireddomain_idcustomrequiredproject_idcustomrequiredhostnamestringrequiredmin length: 3 · max length: 253 · pattern: ^(?=.{3,253}$)(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\.)+[a-z]{2,63}$status"active" | "disabled"requiredrouting_targetstringrequiredmin length: 3 · max length: 253 · pattern: ^(?=.{3,253}$)(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\.)+[a-z]{2,63}$created_atcustomrequiredupdated_atcustomrequiredhas_morebooleanrequiredGet hostname
GET
/v1/hostnames/{id}Path parameters
idcustomrequiredQuery parameters
No query parameters
Response
8 fields
idcustomrequireddomain_idcustomrequiredproject_idcustomrequiredhostnamestringrequiredmin length: 3 · max length: 253 · pattern: ^(?=.{3,253}$)(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\.)+[a-z]{2,63}$status"active" | "disabled"requiredrouting_targetstringrequiredmin length: 3 · max length: 253 · pattern: ^(?=.{3,253}$)(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\.)+[a-z]{2,63}$created_atcustomrequiredupdated_atcustomrequiredUpdate hostname
PATCH
/v1/hostnames/{id}Path parameters
idcustomrequiredRequest body
status"active" | "disabled"requiredResponse
8 fields
idcustomrequireddomain_idcustomrequiredproject_idcustomrequiredhostnamestringrequiredmin length: 3 · max length: 253 · pattern: ^(?=.{3,253}$)(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\.)+[a-z]{2,63}$status"active" | "disabled"requiredrouting_targetstringrequiredmin length: 3 · max length: 253 · pattern: ^(?=.{3,253}$)(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\.)+[a-z]{2,63}$created_atcustomrequiredupdated_atcustomrequiredRelease hostname
DELETE
/v1/hostnames/{id}Path parameters
idcustomrequiredQuery parameters
No query parameters
Response
No response body