Domains

Retrieves a domain by ID or hostname. Both return the same domain, shown as fully as you can see it: everything for your own accounts, and only who has it and what it serves for anyone else.

A hostname no domain on Whop has comes back with its availability instead.

get/domains/{id}

Request

  • Base URL
    https://api.whop.com/api/v1
  • URL
    https://api.whop.com/api/v1/domains/{id}
  • Auth
    HTTP bearer

Response

Domain details

account_idstring nullable required

ID of the account the domain belongs to, prefixed biz_.

created_atstring nullable required

When the domain was created, as an ISO 8601 timestamp.

domainstring required

Normalized hostname, such as checkout.example.com.

idstring nullable required

Domain ID, prefixed dom_. null when no domain on Whop has this hostname.

metadataobject required

Custom string keys and values attached to this domain. Empty when the domain isn't yours.

status'idle' | 'pending' | 'ready' | 'action_required' | 'releasing' | 'null' nullable required

The most pressing state of the domain's capabilities: releasing, then action_required, then pending, then ready. idle when it wants nothing.

updated_atstring nullable required

When the domain was last updated, as an ISO 8601 timestamp.

Example response

{
  "account_id": "biz_xxxxxxxxxxxxxx",
  "apple_pay": {
    "state": "pending"
  },
  "availability": {
    "available": true,
    "price": {
      "amount": "-1234.56",
      "currency": "usd",
      "decimals": 2,
      "display_decimals": 2
    },
    "renewal_price": {
      "amount": "-1234.56",
      "currency": "usd",
      "decimals": 2,
      "display_decimals": 2
    },
    "score": 75,
    "transfer_price": {
      "amount": "-1234.56",
      "currency": "usd",
      "decimals": 2,
      "display_decimals": 2
    }
  },
  "created_at": "2026-01-01T12:00:00.000Z",
  "domain": "shop.com",
  "email": {
    "state": "pending"
  },
  "id": "dom_xxxxxxxxxxxxxx",
  "issues": [
    {
      "capability": "verification",
      "code": "verification_required",
      "dns_records": [
        {
          "name": "_whop.shop.example.com",
          "type": "TXT",
          "value": "whop-domain-verification=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
        }
      ],
      "message": "Publish this TXT record to prove you own the domain. Verification runs automatically."
    }
  ],
  "metadata": {
    "project": "website"
  },
  "owned_by": {
    "id": "biz_xxxxxxxxxxxxxx",
    "route": "biz_xxxxxxxxxxxxxx",
    "title": "Rival Shop"
  },
  "pixel": {
    "state": "pending"
  },
  "platform": {
    "state": "pending"
  },
  "public_record": {
    "expires_at": "2026-01-01T12:00:00.000Z",
    "name_servers": [
      "ns1.example.com"
    ],
    "registered_at": "2026-01-01T12:00:00.000Z",
    "registrant": {
      "address": "Burlington\nMA",
      "contact_url": "https://registrar.example/contact/example.com",
      "country": "US",
      "organization": "Privacy Protect, LLC"
    },
    "registrar": {
      "iana_id": "9999",
      "name": "Example Registrar, Inc.",
      "url": "https://registrar.example"
    },
    "statuses": [
      "client transfer prohibited"
    ],
    "updated_at": "2026-01-01T12:00:00.000Z"
  },
  "registration": {
    "amount_due": {
      "amount": "-1234.56",
      "currency": "usd",
      "decimals": 2,
      "display_decimals": 2
    },
    "auto_renew": true,
    "method": "transfer",
    "phase": "awaiting_payment",
    "purchase_url": "https://whop.com/checkout/ch_xxxxxxxxxxxxxx/",
    "renewal_price": {
      "amount": "-1234.56",
      "currency": "usd",
      "decimals": 2,
      "display_decimals": 2
    },
    "state": "pending"
  },
  "status": "pending",
  "transfer": {
    "destination": "internal",
    "state": "ready"
  },
  "updated_at": "2026-01-01T12:00:00.000Z",
  "verification": {
    "state": "pending",
    "verification_expires_at": "2026-01-01T12:00:00.000Z"
  },
  "website": {
    "app": {
      "base_url": "https://domains-spec-site.whop.site",
      "id": "app_xxxxxxxxxxxxxx"
    },
    "state": "pending"
  }
}

Changes

    • warning

      added the new transfer enum value to the // response property for the response status

    • info

      added the required property to the response with the status

    • info

      added the required property ///// to the response with the status