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

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

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"
}
WhatsApp