Domain Registration API

Own your name on the web

Base URL: https://api.wemasy.nl/api
ⓘ Settings are saved in browser localStorage for convenience. Don't use production tokens on shared computers.

DNS Records

List DNS Presets

GET /services/domains/v1/dns/presets Auth

List DNS Records

POST /services/domains/v1/dns/records/list Auth

Create DNS Record

POST /services/domains/v1/dns/records/create Auth

Update DNS Record

POST /services/domains/v1/dns/records/update Auth

Delete DNS Record

POST /services/domains/v1/dns/records/delete Auth

Batch Update DNS Records

POST /services/domains/v1/dns/records/batch Auth

Sync DNS Records

POST /services/domains/v1/dns/records/sync Auth

DNS Templates

List DNS Templates

POST /services/domains/v1/templates/list Auth

Get DNS Template

POST /services/domains/v1/templates/get Auth

Create DNS Template

POST /services/domains/v1/templates/create Auth

Update DNS Template

POST /services/domains/v1/templates/update Auth

Delete Template

POST /services/domains/v1/templates/delete Auth

Set Default DNS Template

POST /services/domains/v1/templates/set-default Auth

Apply DNS Template

POST /services/domains/v1/dns-templates/apply Auth

Get Affected Domains

POST /services/domains/v1/templates/affected-domains Auth

Domain Transfer

Request EPP Code

POST /services/domains/v1/transfer/request-epp Auth

Verify Transfer PIN

POST /services/domains/v1/transfer/verify-pin Auth

Get EPP Code

POST /services/domains/v1/transfer/get-epp Auth

Initiate Transfer

POST /services/domains/v1/transfer/initiate Auth

Update IPS Tag

POST /services/domains/v1/transfer/update-ips-tag Auth

DomainCartAbandon

POST /services/domains/v1/domain-cart/abandon Auth

DomainCartCheckout

POST /services/domains/v1/domain-cart/checkout Auth

DomainCartClaim

Attach an anonymous cart to the authenticated user

POST /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

POST /services/domains/v1/domain-cart/configure-item Auth

DomainCartMine

POST /services/domains/v1/domain-cart/mine Auth

DomainCheckAnalyticsOverview

POST /services/domains/v1/domains/analytics/overview Auth

Domains

Import all domains from OXXA into products database

POST /services/domains/v1/domains/import Public

Get domain statistics for dashboard

POST /services/domains/v1/domains/stats Auth

List Domains

POST /services/domains/v1/domains/list Auth

Get Domain

POST /services/domains/v1/domains/get Auth

Update Domain

POST /services/domains/v1/domains/update Auth

Sync Domain

POST /services/domains/v1/domains/sync Auth

Bulk Sync Domains

POST /services/domains/v1/domains/bulk-sync Auth

Disconnect Domain

POST /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

POST /services/domains/v1/domains/nameserver-config Auth

Get activity logs for domain(s)

POST /services/domains/v1/activity-logs/list Auth

Get single activity log entry

POST /services/domains/v1/activity-logs/get Auth

Holder Profiles

List Holder Profiles

POST /services/domains/v1/holder-profiles/list Auth

Get Holder Profile

POST /services/domains/v1/holder-profiles/get Auth

Create Holder Profile

POST /services/domains/v1/holder-profiles/create Auth

Update Holder Profile

POST /services/domains/v1/holder-profiles/update Auth

Delete Holder Profile

POST /services/domains/v1/holder-profiles/delete Auth

Set Default Holder Profile

POST /services/domains/v1/holder-profiles/set-default Auth

Change Domain Holder

POST /services/domains/v1/holder-profiles/change-domain-holder Auth

Get Affected Domains

POST /services/domains/v1/holder-profiles/affected-domains Auth

Nameserver Groups

POST /services/domains/v1/nameserver-groups/set-default Auth

Nameservers

Get Nameservers

POST /services/domains/v1/nameservers/get Auth

Update Nameservers

POST /services/domains/v1/nameservers/update Auth

Sync Nameservers

POST /services/domains/v1/nameservers/sync Auth

List Nameserver Groups

POST /services/domains/v1/nameserver-groups/list Auth

Get Nameserver Group

POST /services/domains/v1/nameserver-groups/get Auth

Create Nameserver Group

POST /services/domains/v1/nameserver-groups/create Auth

Update Nameserver Group

POST /services/domains/v1/nameserver-groups/update Auth

Delete Nameserver Group

POST /services/domains/v1/nameserver-groups/delete Auth

Get Affected Domains

POST /services/domains/v1/nameserver-groups/affected-domains Auth

Public

Check domain availability

POST /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

GET /services/domains/v1/tld-extensions Public

Create a fresh anonymous domain cart

POST /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

POST /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

POST /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

POST /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).