Partner Integration Guide
GetYour Partner API
GetYour Partner API allows resellers and integration partners to check domain availability and place domain orders programmatically. This documentation covers the Domain Availability API , Domain Order API and Domain Nameserver API .
Domain Availability API
Checks whether a domain is available for registration.
Base URL: https://domainapi.astgd.com
Endpoint
POST /api/v1/domain/availability
Headers
- Content-Type: application/json
- x-api-key: YOUR_PARTNER_API_KEY (Become a Partner to get API key)
Request Body
{
"domain": "example.bd"
}
Example Request (cURL)
curl -X POST "https://your-api-domain.com/api/v1/domain/availability" \\
-H "Content-Type: application/json" \\
-H "x-api-key: YOUR_PARTNER_API_KEY" \\
-d '{"domain":"example.bd"}'
Success Response (HTTP 200)
{
"responseCode": 2000,
"status": "success",
"message": "Operation successful"
}
Error Responses
Validation Error (HTTP 400)
{
"message": "Validation failed",
"details": {
"formErrors": [],
"fieldErrors": {
"domain": ["Enter a valid domain name"]
}
}
}
Missing API Key (HTTP 401)
{
"message": "API key required"
}
Invalid API Key (HTTP 401)
{
"message": "Invalid API key"
}
Rate Limit Exceeded (HTTP 429)
{
"message": "Rate limit exceeded"
}
Upstream Business Error Examples
{
"responseCode": 2001,
"status": "error",
"message": "Domain already registered"
}
{
"responseCode": 2005,
"status": "error",
"message": "Domain reserved by others"
}
{
"responseCode": 4002,
"status": "error",
"message": "Invalid domain format"
}
Internal Server Error (HTTP 500)
{
"status": "error",
"responseCode": 5000,
"message": "Internal server error"
}
Common `responseCode` values
- 2000 = Operation successful
- 2001 = Domain already registered
- 2004 = Domain already reserved by you
- 2005 = Domain reserved by others
- 4002 = Invalid domain format
- 4015 = Invalid upstream API credentials
- 4016 = Account inactive
- 4030 = Reseller not allowed
- 5000 = Internal server error
Domain Order API
Creates a domain order and generates an invoice.
Authentication
This API uses HTTP Basic Auth. Use your GetYourBD.com.bd User ID as username and password as password.
Base URL: https://getyour.com.bd
Endpoint
POST /api/v1/domain/orders
Request format
- Content-Type: multipart/form-data
- Rate limit: 60 requests / minute
- Auth required: Yes (Basic Auth)
Required fields
- domain (string)
- nameServers[0] (string)
- nameServers[1] (string)
- fullName (string)
- nidFullName (string)
- nid (string; 10/13/17 digits)
- nid_document (file: jpg/jpeg/png/pdf)
- email (valid email)
- contactAddress (string)
- contactNumber (+880 followed by 10 digits)
Optional fields
- nameServers[2] (string)
- years (1–10)
- registration_document (file; required for some TLDs)
Success response (HTTP 201)
{
"message": "Domain order created. Invoice generated and pending payment.",
"order": {
"id": 123,
"domain": "example.com",
"status": "pending",
"registration_status": "pending",
"term_years": 1
},
"invoice": {
"id": 456,
"status": "unpaid",
"payment_method": "api",
"total": 1234.56
},
"pricing": {
"subtotal": "...",
"vat": "...",
"platform_fee": "...",
"total": "..."
}
}
Domain Status Check API
Use this API to check the current status of a domain using your account credentials.
Base URL: https://getyour.com.bd
Endpoint
GET /api/v1/domain/status
Authentication
- Method: HTTP Basic Authentication
- Username: Your registered email address
- Password: Your account password
Headers
- Accept: application/json
Query Parameters
- domain — The domain name you want to check (e.g., example.com.bd)
Example Request (cURL)
curl -X GET "https://getyour.com.bd/api/v1/domain/status?domain=example.com.bd" \
-u "user@example.com:password" \
-H "Accept: application/json"
Success Responses (HTTP 200)
Domain is Pending
{
"status": "pending"
}
Domain is Active
{
"status": "active"
}
Domain Not Found
{
"status": "not found"
}
Error Responses
Missing or Invalid Credentials (HTTP 401)
{
"message": "Unauthorized"
}
Domain Name Server Update API
Use this API to update the nameservers (NS records) of an existing domain.
Base URL: https://getyour.com.bd
Endpoint
POST /api/v1/domain/update-ns
Headers
- Content-Type: application/json
- x-api-key: YOUR_PARTNER_API_KEY (Become a Partner to get API key)
Request Body
{
"domain": "example.bd",
"nameServers": [
"ns1.yourhost.com",
"ns2.yourhost.com"
]
}
Example Request (cURL)
curl -X POST "https://your-api-domain.com/api/v1/domain/update-ns" \
-H "Content-Type: application/json" \
-H "x-api-key: YOUR_PARTNER_API_KEY" \
-d '{
"domain":"example.bd",
"nameServers":["ns1.yourhost.com","ns2.yourhost.com"]
}'
Success Response (HTTP 200)
{
"responseCode": 2000,
"status": "success",
"message": "Operation successful"
}
Error Responses
Validation Error (HTTP 400)
{
"message": "Validation failed",
"details": {
"formErrors": [],
"fieldErrors": {
"domain": ["Enter a valid domain name"],
"nameServers": ["Provide between 2 and 3 nameservers"]
}
}
}
Missing API Key (HTTP 401)
{
"message": "API key required"
}
Invalid API Key (HTTP 401)
{
"message": "Invalid API key"
}
Rate Limit Exceeded (HTTP 429)
{
"message": "Rate limit exceeded"
}
Business Error Examples
{
"responseCode": 4004,
"status": "error",
"message": "Domain not found"
}
{
"responseCode": 4008,
"status": "error",
"message": "Invalid NS record"
}
{
"responseCode": 4010,
"status": "error",
"message": "Domain is parked, cannot update NS record"
}
{
"responseCode": 4011,
"status": "error",
"message": "Domain not active"
}
Internal Server Error (HTTP 500)
{
"status": "error",
"responseCode": 5000,
"message": "Internal server error"
}