# TLD Catalogue Source: https://docs.namify.tech/TLD-catalogue Namify supports a broad portfolio of TLDs through a single integration. Pricing is partner-specific and reflects your negotiated commercial terms. ## Supported TLD categories | Category | Example | | :- | :- | | Legacy gTLDs | .com, .net, .org | | Popular new gTLDs | .store, .online, .tech | | Country-code (ccTLDs) | Select ccTLDs - varies by partner agreement. | | Industry-specific | .design, .agency, .studio, and more. | ## Programmatic access Use the TLD pricing endpoint to get the full, current list of supported TLDs with registration and renewal pricing: ```shellscript theme={null} { "tlds": [ { "tld": ".com", "registration_price": 11.99, "renewal_price": 14.99, "transfer_price": 11.99, "currency": "USD", "min_period": 1, "max_period": 10, "privacy_available": true, "restrictions": null }, { "tld": ".store", "registration_price": 2.99, "renewal_price": 9.99, "transfer_price": 9.99, "currency": "USD", "min_period": 1, "max_period": 10, "privacy_available": true, "restrictions": null } ] } ``` ## TLD restrictions Some TLDs have registration requirements (e.g., .us requires a US nexus category, .eu requires EU/EEA residency). When restrictions apply, the restrictions field contains details. Attempting to register without meeting requirements returns a 422 error with the specific missing fields. ## Pricing tiers Prices displayed above are illustrative. Your actual pricing depends on your partner agreement, volume tier, and any promotional arrangements. Contact your partner manager for a detailed pricing schedule. # API Overview Source: https://docs.namify.tech/api-overview The Namify API is a RESTful JSON API over HTTPS. All requests and responses use JSON. The API is versioned in the URL path. **Base URL:** `https://dev.namify.host`\ **Purpose:** Testing and development in a safe environment with no real charges. **Base URL:** `https://namify.host`\ **Purpose:** Live domain purchases, renewals and domain management **AI-Ready Documentation** Copy any endpoint and use ChatGPT or Claude to generate production-ready code — or use the\ **“Ask a question…”** for instant answers inside the docs. ## Versioning The version is embedded in the URL path (/v1/). Breaking changes increment the major version with at least 6 months of parallel support. Non-breaking changes (new fields, new endpoints) ship continuously. ## Request format All request bodies must be JSON with Content-Type: application/json. Query parameters are used for filtering and pagination on GET requests. ## Response structure Response shapes vary by endpoint. Most successful responses return a flat JSON object: ```json theme={null} // Action response (e.g. register, renew, DNS) { "status": "SUCCESS", "message": "Domain registered successfully", "order_id": 124680932 } // Creation response (e.g. customer signup) { "message": "Customer created", "customer_id": 85384231 } // List response (e.g. domain orders) { "total_orders": 42, "orders_on_page": 10, "orders": [ ... ] } ``` Error responses return a `message` field. Errors originating from the upstream registrar also include a `status` field: ```json theme={null} // Validation or auth error { "message": "The search term field is required." } // Upstream registrar error { "status": "ERROR", "message": "Invalid order ID" } ``` ## Pagination The `/api/v1/domains/orders` endpoint is the only paginated endpoint. It uses page-based pagination via the `page` query parameter (defaults to `1`). The response includes `total_orders` (total matching records) and `orders_on_page` (count on the current page). ## Common headers | Type | Description | | - | - | | Authorization | Bearer `nk_live_` or `Bearer nk_test_` | | Content-Type | Application/json (required on `POST PUT PATCH`) | | X-RateLimit-Remaining | Requests remaining in the current window. | | X-RateLimit-Reset | Unix timestamp when the window resets. | ## HTTP status codes | Code | Description | | - | - | | 200 | Success. | | 201 | Resource created (e.g. customer signup). | | 400 | Upstream request error. | | 401 | Unauthorized. API key is missing or invalid. | | 422 | Unprocessable. Validation failed or the registrar rejected the request. | | 500 | Unexpected server error. | | 502 | Upstream registrar returned an unexpected or unparseable response. | # List Customers Source: https://docs.namify.tech/api-reference/customer/all-customers GET /api/v1/customers Returns a paginated list of customer accounts belonging to your partner account. This is what we're building next. If something here unblocks your integration, let us know at [partner@namify.tech](mailto:partner@namify.tech) - it moves up the list. # Auto-Login Source: https://docs.namify.tech/api-reference/customer/auto-login-token POST /api/v1/customers/auto-login Generates a short-lived authentication token for an existing customer account, identified by their email address. **Use case:** Pass the returned `token` as a query parameter in the auto-login redirect URL to log the customer into their account without requiring a password. This is intended for partner-initiated flows — for example, redirecting a customer from your platform directly into their Namify control panel. **Token expiry:** Tokens are valid for a short window. Redirect the customer immediately after calling this endpoint — do not store or reuse the token. **Customer requirement:** The email must match an account previously created via `POST /api/v1/customers/signup`. Submitting an unregistered email returns a `422` error. After generating a token, redirect to the following URL to log in a customer without a password:\ \ https\://\[your-subdomain].namify.tech/auto-login?token=\[token] # Customer Details Source: https://docs.namify.tech/api-reference/customer/get-customer GET /api/v1/customers/details Retrieves the account details of an existing customer, identified by their email address. **Customer ID:** The response includes the customer's `customer_id` — the identifier required for subsequent operations such as `POST /api/v1/domains/register` and `GET /api/v1/domains/orders`. Use this endpoint to look it up if it was not stored at signup. **Customer requirement:** The email must match an account previously created via `POST /api/v1/customers/signup`. Submitting an invalid or unregistered email returns a `422` error. # Delete Customer Source: https://docs.namify.tech/api-reference/customer/remove-customer DELETE /api/v1/customers Permanently deletes a customer account and all associated data. This is what we're building next. If something here unblocks your integration, let us know at [partner@namify.tech](mailto:partner@namify.tech) - it moves up the list. # Create Customer Source: https://docs.namify.tech/api-reference/customer/signup POST /api/v1/customers/signup Creates a new end-customer account under your reseller account. **Customer ID:** On success, the response includes a `customer_id`. Store it — this is the identifier required for all subsequent operations such as `POST /api/v1/domains/register` and `GET /api/v1/domains/orders`. **WHOIS contact:** The name, address, phone, and email supplied here are automatically set as the registrant, admin, tech, and billing contact for every domain registered under this account. Ensure the details are accurate and in English — non-ASCII characters may cause upstream validation failures. **Email uniqueness:** The email address serves as the customer's login username and must be unique across the platform. Submitting a duplicate email returns a `422` error. **Password requirements:** 9–15 characters, including at least one uppercase letter, one lowercase letter, one digit, and one special character from `~ * ! @ $ # % _ + . ? : , { }`. **State field:** Use the full state or province name (e.g. `California`, `England`). If the country has no states, pass `Other`. > For a list of supported Countries & their States use [countries.json](/api-reference/customer/countries-json) # Update Customer Source: https://docs.namify.tech/api-reference/customer/update-customer PUT /api/v1/customers/details Updates contact information for an existing customer account. This is what we're building next. If something here unblocks your integration, let us know at [partner@namify.tech](mailto:partner@namify.tech) - it moves up the list. # Activate DNS Source: https://docs.namify.tech/api-reference/dns/activate-dns POST /api/v1/dns/activate Activates the DNS service for a domain order, enabling DNS record management for that domain. **Prerequisite:** DNS must be activated before any DNS records (A, AAAA, CNAME, MX, TXT) can be added to the domain. Call this endpoint once per domain before using the other DNS endpoints. **Ownership check:** The `order_id` must belong to a domain under your partner account. Orders from other partners will be rejected with a 422. # Add A Source: https://docs.namify.tech/api-reference/dns/add-a-record POST /api/v1/dns/a-record Adds an A record to the domain's DNS zone, mapping a hostname to an IPv4 address. **Use case:** Point your domain or subdomain to a server's IPv4 address (e.g. point `www.example.com` → `203.0.113.10`). **Prerequisite:** DNS service must be activated for the domain via `POST /api/v1/dns/activate` before records can be added. # Add AAAA Source: https://docs.namify.tech/api-reference/dns/add-aaaa-record POST /api/v1/dns/aaaa-record Adds an AAAA record to the domain's DNS zone, mapping a hostname to an IPv6 address. **Use case:** Point your domain or subdomain to a server's IPv6 address for IPv6-capable networks. **Prerequisite:** DNS service must be activated for the domain via `POST /api/v1/dns/activate` before records can be added. # Add CNAME Source: https://docs.namify.tech/api-reference/dns/add-cname-record POST /api/v1/dns/cname-record Adds a CNAME (Canonical Name) record to the domain's DNS zone, aliasing one hostname to another. **Use case:** Alias a subdomain to another hostname — for example, point `www.example.com` → `example.com`, or point `shop.example.com` → a third-party platform's domain. **Prerequisite:** DNS service must be activated for the domain via `POST /api/v1/dns/activate` before records can be added. # Add MX Source: https://docs.namify.tech/api-reference/dns/add-mx-record POST /api/v1/dns/mx-record Adds an MX (Mail Exchanger) record to the domain's DNS zone, directing inbound email to a mail server. **Use case:** Route email for the domain to a mail server — for example, to configure Google Workspace, Microsoft 365, or a custom mail server. **Prerequisite:** DNS service must be activated for the domain via `POST /api/v1/dns/activate` before records can be added. # Add TXT Source: https://docs.namify.tech/api-reference/dns/add-txt-record POST /api/v1/dns/txt-record Adds a TXT record to the domain's DNS zone. TXT records store arbitrary text data and are widely used for domain verification and email authentication. **Common use cases:** - **Domain verification:** Prove ownership to Google Search Console, Stripe, and similar services (e.g. `google-site-verification=abc123`). - **SPF:** Define authorised mail senders to reduce spam (e.g. `v=spf1 include:_spf.google.com ~all`). - **DKIM:** Publish a public key for email signing (typically on a `selector._domainkey` host). - **DMARC:** Set email authentication policy (typically on `_dmarc` host). **Prerequisite:** DNS service must be activated for the domain via `POST /api/v1/dns/activate` before records can be added. # Delete A Source: https://docs.namify.tech/api-reference/dns/delete-a-record DELETE /api/v1/dns/a-record Deletes an A record from the domain's DNS zone. # Delete AAAA Source: https://docs.namify.tech/api-reference/dns/delete-aaaa-record DELETE /api/v1/dns/aaaa-record Deletes an AAAA record from the domain's DNS zone. # Delete CNAME Source: https://docs.namify.tech/api-reference/dns/delete-cname-record Delete /api/v1/dns/cname-record Deletes a CNAME record from the domain's DNS zone. # Delete MX Source: https://docs.namify.tech/api-reference/dns/delete-mx-record DELETE /api/v1/dns/mx-record Deletes an MX record from the domain's DNS zone. # Delete TXT Source: https://docs.namify.tech/api-reference/dns/delete-txt-record DELETE /api/v1/dns/txt-record Deletes a TXT record from the domain's DNS zone. # Modify A Source: https://docs.namify.tech/api-reference/dns/modify-a-record PUT /api/v1/dns/a-record Modifies an existing A record on the domain's DNS zone. # Modify AAAA Source: https://docs.namify.tech/api-reference/dns/modify-aaaa-record PUT /api/v1/dns/aaaa-record Modifies an existing AAAA record on the domain's DNS zone. # Modify CNAME Source: https://docs.namify.tech/api-reference/dns/modify-cname-record PUT /api/v1/dns/cname-record Modifies an existing CNAME record on the domain's DNS zone. # Modify MX Source: https://docs.namify.tech/api-reference/dns/modify-mx-record PUT /api/v1/dns/mx-record Modifies an existing MX record on the domain's DNS zone. # Modify TXT Source: https://docs.namify.tech/api-reference/dns/modify-txt-record PUT /api/v1/dns/txt-record Modifies an existing TXT record on the domain's DNS zone. # View DNS Records Source: https://docs.namify.tech/api-reference/dns/view-dns-records GET /api/v1/dns/dns-records Returns DNS records for a domain. Use `record_type` to filter by type — defaults to `A` if omitted. Supported types: `A`, `AAAA`, `CNAME`, `MX`, `TXT`, `NS`, `SRV`, `SOA`. **Prerequisite:** DNS service must be activated for the domain via `POST /api/v1/dns/activate` before records can be retrieved. # Availability Source: https://docs.namify.tech/api-reference/domains/availability GET /api/v1/domains/availability **Being phased out.** This endpoint will be retired soon. New integrations should use [MetaSearch](/api-reference/domains/metasearch), which returns exact-match availability, alternative names, AI-generated suggestions, and live pricing in one call. Checks whether one or more domain names are available for registration across the specified TLDs. **Input format:** `search_term` accepts a single SLD string or an array of SLD strings (label only — no dots or TLD). Pass the TLD(s) separately via `tlds[]`. This allows you to check the same name across multiple extensions in one request (e.g. `search_term=example&tlds[]=com&tlds[]=store&tlds[]=tech`). **TLD filtering:** Only TLDs enabled on your partner account are checked. Any requested TLD not in your allowed list is silently ignored. If no valid TLDs remain after filtering, the request falls back to your first allowed TLD. **Premium domains:** If a result has `premium: true`, the domain is available but carries a premium price. If your partner account does not support premium registrations, these are returned with `available: false`. **Result interpretation:** Each result in the `results` array corresponds to one domain+TLD combination. Check the `available` field to determine purchasability. Use this endpoint before calling `POST /api/v1/domains/register` to avoid failed registration attempts. > Premium domains are not currently supported by our APIs for registration. # Delete Domain Source: https://docs.namify.tech/api-reference/domains/delete-domain POST /api/v1/domains/delete Deletes a domain order. This is what we're building next. If something here unblocks your integration, let us know at [partner@namify.tech](mailto:partner@namify.tech) - it moves up the list. # Domain Details Source: https://docs.namify.tech/api-reference/domains/domain-details GET /api/v1/domains/details Returns detailed information for a specific domain order. This is what we're building next. If something here unblocks your integration, let us know at [partner@namify.tech](mailto:partner@namify.tech) - it moves up the list. # List Transfers Source: https://docs.namify.tech/api-reference/domains/list-transfers GET /api/v1/transfers Returns a paginated list of domain transfers associated with your partner account. This is what we're building next. If something here unblocks your integration, let us know at [partner@namify.tech](mailto:partner@namify.tech) - it moves up the list. # Lock / Unlock Source: https://docs.namify.tech/api-reference/domains/lock-unlock-domain-transfer PUT /api/v1/transfers/lock Locks or unlocks the transfer status of a domain to prevent or allow transfers to another registrar. This is what we're building next. If something here unblocks your integration, let us know at [partner@namify.tech](mailto:partner@namify.tech) - it moves up the list. # MetaSearch Source: https://docs.namify.tech/api-reference/domains/metasearch api-reference/metasearch-openapi.json GET /v1/search Search a name and return the best available domains: the exact match, available alternatives, and optional AI-generated suggestions, each with live pricing. Returns a ranked set of available domains for a search term: the exact-match domain, available alternatives, and (optionally) AI-generated brandable suggestions, each with ready-to-display pricing. **How it works:** Pass a `search_term`: either a bare name (`coffee`) or a full domain including a TLD (`coffee.com`). The response leads with a featured result (`type: "hero"`), followed by the results list, and (when enabled) a trailing block of AI-suggested names. Every item carries a live `available` flag and a `pricing` object (`null` when the domain is taken). **Suggestions:** Set `autosuggest=true` and MetaSearch automatically suggests additional available names (close variations around your search term) in the results list. Set `aisuggest=true` and it appends a block of AI-suggested, brandable names (each `type: "ai_suggestion"`). Both are off by default; enable either or both. **Pricing:** Each available result includes a `pricing` object with the registration and renewal price, an `is_free_first_year` flag, and a ready-to-display `summary` string (e.g. `"1st Year Free, then $9.99/yr"`). Prices are scoped to your partner account's catalogue. **The searched domain:** When the search includes a TLD (e.g. `coffee.com`), the row matching that exact domain is flagged with `is_searched_exact: true`, so you can highlight "the domain you searched," whether it's available or taken. # Orders Source: https://docs.namify.tech/api-reference/domains/orders GET /api/v1/domains/orders Returns a paginated list of domain orders belonging to a specific customer under your partner account. **Statuses returned:** Only orders with a current status of `Active`, `Suspended`, `Pending Delete Restorable`, or `Expired` are included. Domains past their expiry date are automatically marked as `Expired` based on their `expiry_timestamp`, regardless of the upstream registry status. **Pagination:** Results are paged. Use the `page` parameter to navigate through large result sets. The response includes `total_orders` (total matching records across all pages) and `orders_on_page` (count on the current page). **Filtering:** Use the optional `search` parameter to filter results by domain name keyword. **Renewal workflow:** The `expiry_timestamp` on each order is the value you must pass to `POST /api/v1/domains/renew`. Always fetch the latest value from this endpoint immediately before submitting a renewal to avoid expiry mismatch errors. # Registration Source: https://docs.namify.tech/api-reference/domains/registration POST /api/v1/domains/register Registers a domain name under an existing customer account. **Before registering**, always verify the domain is available using `GET /api/v1/domains/availability`. Attempting to register an unavailable domain will result in a failed order. **Customer requirement:** The `customer_id` must correspond to an account previously created via `POST /api/v1/customers/signup`. The customer's saved contact details are automatically used as the WHOIS registrant, admin, tech, and billing contacts for the domain. **Billing:** A billing settlement is performed automatically before the registration is submitted to the registry. If the settlement fails, the registration will not proceed. **Duration:** You may register for 1–10 years. Some TLDs enforce a minimum registration period — check TLD-specific requirements if registration fails for a short duration. **On success**, the response includes an `order_id` which is required for subsequent operations such as renewal, DNS management, and privacy protection. # Renewal Source: https://docs.namify.tech/api-reference/domains/renewal POST /api/v1/domains/renew Extends the registration term of an existing domain order before it expires. **Ownership check:** The `order_id` must belong to a domain under your partner account. Orders from other partners will be rejected with a 422. **Expiry verification:** The `expiry_timestamp` must exactly match the domain's current expiry as a Unix epoch timestamp. This acts as an optimistic concurrency check to prevent accidental double-renewals. Retrieve the current value from `GET /api/v1/domains/orders` before submitting. **Billing:** A billing settlement is performed automatically before the renewal is submitted to the registry. If the settlement fails, the renewal will not proceed. **Duration:** Renewals are accepted for 1–9 years. Some TLDs enforce a minimum renewal period (e.g. 2 years for `.ai`) — if the renewal fails for a short duration, try increasing the `duration`. **Timing:** Renew before the domain expires. Domains in `Pending Delete Restorable` status may require a restore instead of a standard renewal. # Suggestions Source: https://docs.namify.tech/api-reference/domains/suggestions GET /api/v1/domains/suggestions **Being phased out.** This endpoint will be retired soon. New integrations should use [MetaSearch](/api-reference/domains/metasearch), which returns exact-match availability, alternative names, AI-generated suggestions, and live pricing in one call. Returns a list of available domain name suggestions derived from a keyword. Useful for surfacing alternatives when the exact domain a customer wants is already taken. **How it works:** The engine generates variations of the `search_term` keyword — such as prefixes, suffixes, and synonyms — and returns only those that are currently available for registration. Each suggestion includes `available`, `premium`, `sld`, and `tld` fields in the same format as the availability check endpoint. **TLD scoping:** Use `tld` to restrict suggestions to one or more extensions. Only TLDs enabled on your partner account are used — unrecognised values are silently ignored and fall back to your first allowed TLD. **Premium domains:** Suggestions with `premium: true` carry a higher registration price. If your partner account does not support premium registrations, these are returned with `available: false`. **Recommended flow:** Use this endpoint alongside `GET /api/v1/domains/availability` — present exact-match results first, then fall back to suggestions when the target domain is unavailable. # Auto-Renewal Source: https://docs.namify.tech/api-reference/domains/toggle-auto-renew PUT /api/v1/domains/auto-renew Enables or disables automatic renewal for a domain before its expiry date. This is what we're building next. If something here unblocks your integration, let us know at [partner@namify.tech](mailto:partner@namify.tech) - it moves up the list. # Transfer Status Source: https://docs.namify.tech/api-reference/domains/transfer-status GET /api/v1/transfers/status Returns the current status of an in-progress domain transfer. This is what we're building next. If something here unblocks your integration, let us know at [partner@namify.tech](mailto:partner@namify.tech) - it moves up the list. # View Transfer Code Source: https://docs.namify.tech/api-reference/domains/view-transfer-code GET /api/v1/transfers/auth-code Retrieves the EPP authorization code (also known as the auth code or transfer secret) required to transfer a domain to another registrar. # Hello Source: https://docs.namify.tech/api-reference/hello GET /api/v1/hello A lightweight health-check endpoint. Use this call to confirm that your bearer token is valid and that the API server is reachable. Returns the current server timestamp and a confirmation message. Ideal for testing credentials during initial integration or diagnosing authentication issues. # Authentication Source: https://docs.namify.tech/authentication All API requests require a Bearer token in the Authorization header. Tokens are scoped to a single partner account and environment. ## Getting your API key 1. Sign in to your **Dashboard**. 2. Go to **Settings > API Key.** 3. Both your sandbox or production keys will be viewable. 4. Copy & use the key based on the environment. ## Using your key ```javascript theme={null} curl -X GET https://namify.host/api/v1/domains/availability \ -H "Authorization: Bearer nk_live_abc123def456" ``` ## Key prefixes > **nk\_test\_\* -** Sandbox. No charges, simulated registrations. > **nk\_live\_\* -** Production. Real charges, real ICANN registrations. Never expose keys in client-side code, Git repos, or logs. Use environment variables. ## Key management * Up to 2 active keys per account. * Revoke any key instantly by getting in touch with us. * Requests using a revoked key return 401 immediately. ## Auth error codes | Code | Reason for error | | - | - | | 401 Unauthorized | Missing or invalid key. Check the header format and key value. | | 401 key\_revoked | This key has been revoked. Generate a new one via dashboard. | | 401 key\_expired | Key has passed its expiry date (if an expiry was set). | | 403 Forbidden | Valid key, but insufficient permissions for this endpoint/resource. | | 403 environment\_mismatch | Using a sandbox key against production or vice versa. | # Changelog Source: https://docs.namify.tech/changelog Dated entries tracking every API change. Entries are categorized as Added, Improved, Fixed, or Deprecated. ## Versioning policy The API version is in the URL path (/v1/). Breaking changes increment the major version with at least 6 months of parallel support. Non-breaking additions (new fields, new endpoints) ship continuously without version bumps. ## Format Each changelog entry follows this structure: ```text theme={null} ## 2026-03-05 ### Added - GET /domains/suggestions endpoint for AI-generated domain alternatives. - include_suggestions parameter on GET /domains/search. ### Improved - Domain search response time reduced to <200ms for single-TLD queries. ### Fixed - 422 error now returns the specific missing field for TLD-restricted registrations. ### Deprecated - None. ``` # Coupon Codes Source: https://docs.namify.tech/coupon-codes POST /api/v1/coupons/validate Validates a coupon code and returns its applicable discount details. This is what we're building next. If something here unblocks your integration, let us know at [partner@namify.tech](mailto:partner@namify.tech) - it moves up the list. # Enable / Disable Source: https://docs.namify.tech/enable-disable-privacy PUT /api/v1/privacy-protection Enables or disables WHOIS privacy protection on a domain that already has privacy purchased. This is what we're building next. If something here unblocks your integration, let us know at [partner@namify.tech](mailto:partner@namify.tech) - it moves up the list. # Environments Source: https://docs.namify.tech/environments Namify provides two fully isolated environments. Same API surface, same endpoints, same response shapes. The only differences are real-world impact and billing. ## Sandbox | **Variable** | Description | | :- | :- | | **Base URL** | [https://dev.namify.host/api/v1](https://dev.api.namify.tech/v1) | | **Key prefix** | nk\_test\_\* | | **Billing** | No charges. All transactions succeed without debiting your account. | | **Registrations** | Simulated. Nothing is submitted to ICANN or any registry. | | **Availability** | Most standard TLDs return as available. | | **Webhooks** | Fire normally. Test your integration end-to-end. | | **Data retention** | Purged every 24hrs. Do not rely on sandbox for persistence. | | **Pre-funded** | Sandbox accounts come with simulated credit. No setup required. | ## Production | **Variable** | Description | | :- | :- | | **Base URL** | [https://namify.host/api/v1](https://api.namify.tech/v1) | | **Key prefix** | nk\_live\_\* | | **Billing** | Real charges. Invoiced monthly or per-transaction
based on your commercial terms. | | **Registrations** | Live ICANN registrations. Domains are active on the internet. | | **Webhooks** | Fire normally. | ## Switching environments Swap two environment variables. No code changes: ```shellscript theme={null} # Sandbox NAMIFY_BASE_URL=https://dev.namify.host/api/v1 NAMIFY_API_KEY=nk_test_... # Production NAMIFY_BASE_URL=https://namify.host/api/v1 NAMIFY_API_KEY=nk_live_... ``` ## Migration path Build and test against sandbox. When your integration passes the Go-Live Checklist, swap in production credentials. The API behavior is identical the only change is that domains become real and billing begins. # Fetch Pricing Source: https://docs.namify.tech/fetch-pricing GET /api/v1/premiums/pricing Returns pricing information for premium domains. This is what we're building next. If something here unblocks your integration, let us know at [partner@namify.tech](mailto:partner@namify.tech) - it moves up the list. # Full API Source: https://docs.namify.tech/full-api A compltely headless API. Complete registrar-style control. Your users never leave your product. ## What you build Everything user-facing: domain search, registration, DNS management, billing, renewal flows, expiry notifications, and customer support. Domains are indistinguishable from any other feature in your product. ## What Namify handles The registrar layer: EPP commands, ICANN accreditation, compliance, WHOIS database updates, and the technical infrastructure that makes domains resolve on the internet. ## Typical integration Same API calls as Hybrid, but you also own renewal UX, DNS management UI, transfer flows, and all customer communications about domain status. You'll use the full breadth of the API reference: customers, search, registration, renewals, DNS, nameservers, contacts, and webhooks. ## 🤖 AI-Optimized API Integration All endpoints are structured for AI-assisted development. Copy any request and use it with ChatGPT or Claude to generate complete backend or frontend integrations instantly. You can also use the built-in **“Ask a question…”** assistant to explore endpoints, debug issues, and accelerate development directly within the docs. ## When to choose Full API Choose this tier when domains are a core part of your product (not just a nice-to-have), you have engineering capacity to build and maintain the UX, and you want full control over pricing, messaging, and the customer experience. **Variation:** Full API partners can request white-label domain management panels for end users and custom modifications to API behavior. Contact your partner manager to scope these. [Connect with us](mailto:partner@namify.tech) & we can evaluate your fitment for the FULL API solution. # Get Contacts Source: https://docs.namify.tech/get-contacts GET /api/v1/contacts Retrieves the contact information associated with your partner account. This is what we're building next. If something here unblocks your integration, let us know at [partner@namify.tech](mailto:partner@namify.tech) - it moves up the list. # Go-Live Checklist Source: https://docs.namify.tech/go-live-checklist Verify these before switching from sandbox to production. This is the gate between testing and real registrations. ## Authentication Production API key generated and stored securely (environment variable, secrets manager - never in code). > Base URL set to [**https://namify.host/api/v1**](https://namify.host/api/v1). 401 & other error handling tested and user-facing messaging in place. ## Integration * Customer creation flow tested. Every domain registration is tied to a `customer_id.` * Domain search, availability check, and registration flow tested end-to-end. * Renewal flow tested (manual and/or auto-renew, depending on your tier). ## Webhooks * Webhook endpoint deployed and reachable over HTTPS. * Signature verification implemented and tested. * Key events handled: `domain.registered`, `domain.renewed`, `domain.expired`, `domain.auto_renew_failed`. * Idempotent event processing in place (duplicate webhook delivery handled). ## Error handling 4xx errors surfaced to users with clear messaging (domain unavailable, invalid input, payment failed). Rate limit (429) handling with Retry-After header. ## Operations * Logging: request\_id from every API response stored for debugging. * Monitoring: alerts on elevated error rates, failed webhooks, and failed renewals. * Support escalation path defined (your support team > Namify partner support). **Tip:** Run through this checklist with your team before enabling production keys. It saves a lot of post-launch fire drills. You can also consult with us to help you through the journey. # Hybrid Source: https://docs.namify.tech/hybrid The best of both worlds. You build a native registration & billing experience on your platform. When users register, you call our APIs - we handle billing, compliance, lifecycle management & support.