Domain Service API

API quan ly domain Namecheap (DNS, host records).

Authentication

Tat ca endpoint (tru login) yeu cau header:

Authorization: Bearer <access_token>

Lay token qua POST /api/auth/login

Endpoints

MethodEndpointDescription
POST/api/auth/loginLogin, return JWT
GET/api/auth/meUser info (token required)
GET/api/domainsList domains
GET/api/domains/{domain}/infoDomain info
GET/api/domains/{domain}/dns/hostsDNS host records
PUT/api/domains/{domain}/dns/hostsReplace DNS hosts
POST/api/domains/{domain}/dns/hosts/{type}Add 1 record
GET/api/domains/{domain}/dns/nameserversList nameservers

Details

POST /api/auth/login

Body JSON:

{"username": "admin", "password": "your-password"}

Response: {"user": {...}, "access_token": "..."}

GET /api/domains

Query params: list_type (ALL|EXPIRING|EXPIRED), search_term, page, page_size, sort_by

PUT /api/domains/{domain}/dns/hosts

Body JSON:

{"hosts": [{"name": "@", "type": "A", "address": "1.2.3.4", "ttl": 1800}]}

Warning: Records not included in request will be deleted. Types: A, AAAA, ALIAS, CAA, CNAME, MX, MXE, NS, TXT, URL, URL301, FRAME

POST /api/domains/{domain}/dns/hosts/{type}

Body JSON: {"name": "@", "address": "1.2.3.4", "ttl": 1800, "mx_pref": 10} (mx_pref for MX)

Health

GET /health — API health check