Skip to main content
POST
/
api
/
v1
/
customers
/
signup
Create a new customer account
curl --request POST \
  --url https://dev.namify.host/api/v1/customers/signup \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "name": "John Doe",
  "company": "Acme Corp",
  "address": "123 Main Street, Apt 4B",
  "city": "Los Angeles",
  "state": "California",
  "country": "US",
  "zipcode": "90001",
  "country_code": "1",
  "phone": "3105559876",
  "email": "john.doe@example.com",
  "password": "SecureP@ss1"
}
'
{
  "message": "Customer created",
  "customer_id": 85384231
}
For a list of supported Countries & their States use countries.json

Authorizations

Authorization
string
header
required

A personal access token. Obtain one from the dashboard under Settings > API Key. Include it in the Authorization header as Bearer <token>. Unauthenticated requests to protected routes return 401 Unauthorized.

Body

application/json
name
string
required

Full legal name of the customer (first and last name). Used as the registrant contact name for domain WHOIS records.

Required string length: 1 - 255
Example:

"John Doe"

country_code
string
required

International telephone dialling prefix for the customer's country, without the leading '+' (e.g., '1' for US/Canada, '44' for UK, '49' for Germany).

Example:

"1"

phone
string
required

Customer's phone number, excluding the country dialling code and any leading zeros. Digits only — no spaces, dashes, or parentheses (e.g., '2125551234' for a New York number). Combined with country_code to form a full E.164-compliant number.

Example:

"2125551234"

email
string<email>
required

Customer's primary email address. This also serves as the customer's login username for the account. Used for account notifications, password resets, and as the registrant contact email in domain WHOIS records. Must be unique — re-submitting an existing address returns a 422 error.

Example:

"john.doe@example.com"

password
string
required

Password for the new account. Use 9–15 characters, including at least one uppercase, one lowercase, one number, and one special character from the allowed set: ~ * ! @ $ # % _ + . ? : , { }

Required string length: 9 - 15
Example:

"SecureP@ss1"

country
string
required

Two-letter country code as defined by ISO 3166-1 alpha-2 (e.g., 'US' for United States, 'GB' for United Kingdom, 'DE' for Germany). Must be uppercase.

Required string length: 2
Example:

"US"

address
string
required

Primary street address of the customer (house number and street name). Used as the registrant contact address for domain WHOIS records.

Example:

"123 Main Street, Apt 4B"

state
string
required

Full name of the state, province, or region of the customer's address (e.g., 'New York', 'California', 'England'). Use the state names listed in the states array for the relevant country in countries.json. If the customer's country has no states, pass "Other".

Example:

"California"

city
string
required

City or locality of the customer's address.

Example:

"Los Angeles"

zipcode
string
required

Postal or ZIP code corresponding to the customer's address. Format varies by country (e.g., '10001' for US, 'EC1A 1BB' for UK).

Example:

"90001"

company
string

Company or organisation name associated with the account. Optional — omit or leave blank for individual (non-business) registrations.

Example:

"Acme Corp"

Response

Customer account created successfully.

message
string
Example:

"Customer created"

customer_id
integer

Unique ID assigned to the newly created customer. Use this value as customer_id in subsequent calls (e.g. domain registration, order lookup).

Example:

85384231