Skip to main content
A Domain is a hostname an account buys through Whop or connects from another registrar, and assigns to one of its apps. Creating a domain buys it unless mode is external: pay at its purchase_url, or set payment_method_id to charge a saved card, and Whop registers the domain and runs its DNS. Thirty days before a bought domain expires, Whop opens a renewal charge at purchase_url and, while auto_renew is on, charges the saved card for it. An unpaid domain stops serving its app when it expires but stays renewable at purchase_url until the registry’s grace period ends, and is then removed. A connected domain returns DNS records to publish instead. Verification and certificates run automatically, and unverified claims expire after 48 hours. A claim doesn’t reserve the hostname. Either kind serves its app once its hostname and certificate are active. To find a domain to buy, pass search to List Domains or a hostname to Retrieve Domain.

Endpoints

Attributes

string | null
required
Domain ID, prefixed dom_. null for a search result.
string | null
required
ID of the account claiming or owning this domain, prefixed biz_. null for a search result.
object | null
required
The charge the domain owes now. null when nothing is owed.

Properties

string
required
The amount in major units, as an exact decimal string — "10.00" is ten dollars. A string so no float rounds it in transit.
string
required
Three-letter ISO 4217 currency code, lowercase.
integer
required
How many decimal places the amount CARRIES — the precision the charge itself runs at.
integer
required
How many decimal places to SHOW. Usually equal to decimals, and deliberately not always: COP is charged in centavos but written in whole pesos, so it is 2 and 0. Format the number in your own locale using this.
string | null
required
ID of the app the domain serves, prefixed app_. null for a search result or a bought domain without an app.
boolean | null
required
Whether Whop charges the saved payment method to renew a bought domain before it expires. null for connected domains and search results.
string | null
required
When the domain was created, as an ISO 8601 timestamp. null for a search result.
object[]
required
DNS records to publish for a connected domain: TXT for ownership, A/AAAA for root domains through Whop’s Apex Proxying IPs, and CNAME for subdomains. Empty for bought domains and search results.

Properties

string
required
Full hostname where the record must be published.
string
required
DNS record type.Available options: TXT, CNAME, A, AAAA
string
required
DNS record content.
string
required
Normalized hostname, such as checkout.example.com.
string | null
required
When the registration of a bought domain expires unless renewed, as an ISO 8601 timestamp. null for connected domains and search results.
object[]
required
What needs attention before the domain can serve its app or renew. Empty for a search result.

Properties

string
required
What needs attention, as a stable code.Available options: ownership_required, dns_required, provider_validation, certificate_pending, expiring_soon, ownership_conflict, account_unavailable, check_failed, domain_unavailable, premium_not_supported, unsupported_tld, registration_unavailable, registration_premium, registration_failed, renewal_failed, payment_action_required
string
required
What needs attention before the domain can serve its app or renew.
object
required
Custom string keys and values attached to this domain. Empty for a search result.
string | null
required
managed for a domain bought and renewed through Whop; external for a domain registered elsewhere and connected with DNS records. null for a search result.Available options: external, managed
string | null
required
ID of the saved card charged for a bought domain, prefixed payt_. null when none is set.
object | null
required
The domain’s public registration record (RDAP), read when you retrieve it by hostname. null for your own domains, available domains, or a record that couldn’t be read.

Properties

boolean | null
required
Whether the domain’s delegation is signed with DNSSEC, or null when the registry doesn’t say.
string | null
required
When the current registration expires, as an ISO 8601 timestamp, or null when the record omits it.
string[]
required
The name servers the domain delegates to, lowercase, such as ns1.example.com. Empty when the record lists none.
string | null
required
When the domain was first registered, as an ISO 8601 timestamp, or null when the record omits it.
object | null
required
Who the domain is registered to, often a privacy service or Redacted For Privacy. null when the record publishes no registrant.

Properties

string | null
required
Registrant postal address as published, with lines separated by line breaks. Often only a state or region. null when withheld.
string | null
required
A web form for contacting the registrant, published when the registrar withholds their email. null when there is none.
string | null
required
Registrant country as an ISO 3166-1 alpha-2 code, such as US, or null when withheld.
string | null
required
Registrant email address, often a privacy forwarding address, or null when withheld.
string | null
required
Registrant name, or null when withheld.
string | null
required
Registrant organization, often a privacy service, or null when withheld.
string | null
required
Registrant phone number, or null when withheld.
object | null
required
The registrar that manages the domain, or null when the record doesn’t name one.

Properties

string | null
required
The registrar’s IANA registrar ID, or null when the record omits it.
string
required
Registrar name, such as GoDaddy.com, LLC.
string | null
required
The registrar’s website, or null when the record omits it.
string[]
required
The domain’s registry statuses in RDAP form, such as client transfer prohibited. Empty when the record lists none.
string | null
required
When the registration record last changed, as an ISO 8601 timestamp, or null when the record omits it.
string | null
required
Link to pay the charge the domain owes now: its registration, or a yearly renewal. null when nothing is owed.
object | null
required
Whether you can register the domain and what it costs. Set for search results and hostname lookups; null for your own domains.

Properties

boolean
required
Whether the domain can be registered now.
boolean
required
Whether the registry charges more than its standard price for this domain.
object | null
required
What the first year of registration costs. null when the domain is not available.

Properties

string
required
The amount in major units, as an exact decimal string — "10.00" is ten dollars. A string so no float rounds it in transit.
string
required
Three-letter ISO 4217 currency code, lowercase.
integer
required
How many decimal places the amount CARRIES — the precision the charge itself runs at.
integer
required
How many decimal places to SHOW. Usually equal to decimals, and deliberately not always: COP is charged in centavos but written in whole pesos, so it is 2 and 0. Format the number in your own locale using this.
object | null
required
What each yearly renewal costs after the first year. null when the domain is not available.

Properties

string
required
The amount in major units, as an exact decimal string — "10.00" is ten dollars. A string so no float rounds it in transit.
string
required
Three-letter ISO 4217 currency code, lowercase.
integer
required
How many decimal places the amount CARRIES — the precision the charge itself runs at.
integer
required
How many decimal places to SHOW. Usually equal to decimals, and deliberately not always: COP is charged in centavos but written in whole pesos, so it is 2 and 0. Format the number in your own locale using this.
integer
required
How desirable the domain is, from 0 to 100. Short, real-word names on well-known extensions score highest.
object | null
required
What moving the domain to Whop costs if you own it elsewhere, including a year of registration. null when it’s available or can’t be transferred.

Properties

string
required
The amount in major units, as an exact decimal string — "10.00" is ten dollars. A string so no float rounds it in transit.
string
required
Three-letter ISO 4217 currency code, lowercase.
integer
required
How many decimal places the amount CARRIES — the precision the charge itself runs at.
integer
required
How many decimal places to SHOW. Usually equal to decimals, and deliberately not always: COP is charged in centavos but written in whole pesos, so it is 2 and 0. Format the number in your own locale using this.
string | null
required
Domain lifecycle. Only active domains serve their app. null for a search result.Available options: pending_verification, awaiting_payment, registering, provisioning, active, action_required, deleting, expired, failed, removed
string | null
required
When the domain was last updated, as an ISO 8601 timestamp. null for a search result.
string | null
required
When an unverified claim is automatically deleted, 48 hours after creation, as an ISO 8601 timestamp.
Domain