Domain Registration API
Own your name on the web
DNS Records
List DNS Presets
/services/domains/v1/dns/presets
Auth
List DNS Records
/services/domains/v1/dns/records/list
Auth
Create DNS Record
/services/domains/v1/dns/records/create
Auth
Update DNS Record
/services/domains/v1/dns/records/update
Auth
Delete DNS Record
/services/domains/v1/dns/records/delete
Auth
Batch Update DNS Records
/services/domains/v1/dns/records/batch
Auth
Sync DNS Records
/services/domains/v1/dns/records/sync
Auth
DNS Templates
List DNS Templates
/services/domains/v1/templates/list
Auth
Get DNS Template
/services/domains/v1/templates/get
Auth
Create DNS Template
/services/domains/v1/templates/create
Auth
Update DNS Template
/services/domains/v1/templates/update
Auth
Delete Template
/services/domains/v1/templates/delete
Auth
Set Default DNS Template
/services/domains/v1/templates/set-default
Auth
Apply DNS Template
/services/domains/v1/dns-templates/apply
Auth
Get Affected Domains
/services/domains/v1/templates/affected-domains
Auth
Domain Transfer
Request EPP Code
/services/domains/v1/transfer/request-epp
Auth
Verify Transfer PIN
/services/domains/v1/transfer/verify-pin
Auth
Get EPP Code
/services/domains/v1/transfer/get-epp
Auth
Initiate Transfer
/services/domains/v1/transfer/initiate
Auth
Update IPS Tag
/services/domains/v1/transfer/update-ips-tag
Auth
DomainCartAbandon
/services/domains/v1/domain-cart/abandon
Auth
DomainCartCheckout
/services/domains/v1/domain-cart/checkout
Auth
DomainCartClaim
Attach an anonymous cart to the authenticated user
/services/domains/v1/domain-cart/claim
Auth
The marketing site (wemasy.com) creates a cart against a session_token only — no user_id. After the visitor signs up and the dashboard SPA mounts, it fires this endpoint with the token it brought along. We: 1. Find the cart by token. 2. Refuse if the cart is already claimed by a different user (capability-URL safety — token leak doesn't let one user hijack another's cart). 3. Stamp user_id + claimed_at. Returns the full cart so the dashboard register page can render its items immediately without a second round-trip.
DomainCartConfigureItem
/services/domains/v1/domain-cart/configure-item
Auth
DomainCartMine
/services/domains/v1/domain-cart/mine
Auth
DomainCheckAnalyticsOverview
/services/domains/v1/domains/analytics/overview
Auth
Domains
Import all domains from OXXA into products database
/services/domains/v1/domains/import
Public
Get domain statistics for dashboard
/services/domains/v1/domains/stats
Auth
List Domains
/services/domains/v1/domains/list
Auth
Get Domain
/services/domains/v1/domains/get
Auth
Update Domain
/services/domains/v1/domains/update
Auth
Sync Domain
/services/domains/v1/domains/sync
Auth
Bulk Sync Domains
/services/domains/v1/domains/bulk-sync
Auth
Disconnect Domain
/services/domains/v1/domains/disconnect-from-project
Auth
Clears the project's custom domain fields so the website falls back to its subdomain. Dispatches a background job for any future async work (e.g. nameserver changes, OXXA nsgroup updates).
Get Nameserver Config
/services/domains/v1/domains/nameserver-config
Auth
Get activity logs for domain(s)
/services/domains/v1/activity-logs/list
Auth
Get single activity log entry
/services/domains/v1/activity-logs/get
Auth
Holder Profiles
List Holder Profiles
/services/domains/v1/holder-profiles/list
Auth
Get Holder Profile
/services/domains/v1/holder-profiles/get
Auth
Create Holder Profile
/services/domains/v1/holder-profiles/create
Auth
Update Holder Profile
/services/domains/v1/holder-profiles/update
Auth
Delete Holder Profile
/services/domains/v1/holder-profiles/delete
Auth
Set Default Holder Profile
/services/domains/v1/holder-profiles/set-default
Auth
Change Domain Holder
/services/domains/v1/holder-profiles/change-domain-holder
Auth
Get Affected Domains
/services/domains/v1/holder-profiles/affected-domains
Auth
Nameserver Groups
/services/domains/v1/nameserver-groups/set-default
Auth
Nameservers
Get Nameservers
/services/domains/v1/nameservers/get
Auth
Update Nameservers
/services/domains/v1/nameservers/update
Auth
Sync Nameservers
/services/domains/v1/nameservers/sync
Auth
List Nameserver Groups
/services/domains/v1/nameserver-groups/list
Auth
Get Nameserver Group
/services/domains/v1/nameserver-groups/get
Auth
Create Nameserver Group
/services/domains/v1/nameserver-groups/create
Auth
Update Nameserver Group
/services/domains/v1/nameserver-groups/update
Auth
Delete Nameserver Group
/services/domains/v1/nameserver-groups/delete
Auth
Get Affected Domains
/services/domains/v1/nameserver-groups/affected-domains
Auth
Public
Check domain availability
/services/domains/v1/domain/check
Public
Return all enabled TLDs for the current platform (names only — lightweight). Featured TLDs are returned first. The frontend slices this list in batches to avoid firing too many OXXA domain-check calls at once
/services/domains/v1/tld-extensions
Public
Create a fresh anonymous domain cart
/services/domains/v1/domain-cart/create
Public
Called by the wemasy.com search box the first time a visitor adds a domain (no `shoppingcart_session` in localStorage). Returns a `session_token` the client stores and passes back on every subsequent add/get/remove call. The cart starts in `open` status with no user_id; it gets claimed later via /v1/domain-cart/claim once the visitor signs into the dashboard.
Fetch a domain cart by its session token
/services/domains/v1/domain-cart/get
Public
Read-only — no side effects. Used by: - Marketing site on mount: re-hydrate from localStorage to show the current cart drawer / items list. - Dashboard register page: read the cart immediately after the user signs up + claims it, so we can render the items before any new search has happened. Returns `null` cart if the session token doesn't match — never 404, so the marketing site can silently fall back to creating a new cart instead of treating a stale token as an error.
Add a domain to an existing cart
/services/domains/v1/domain-cart/add
Public
Adding the same domain twice updates the existing row (period / transfer token / etc.) rather than duplicating — the (cart_id, domain_name) unique constraint enforces this and the controller does a deliberate updateOrCreate.
Remove a single item from a cart
/services/domains/v1/domain-cart/remove
Public
Identified by `cart_item_id` (server-side) rather than domain name so the client doesn't have to track which item maps to which row — the add endpoint returns each item's `id`. Caller must pass the cart's session_token so we can verify the item actually belongs to the cart they're authorised to mutate (cart tokens are essentially capability URLs for anonymous sessions).