This API method creates a new zone. The user must be allowed enough available zones in order to successfully create a new one. Free users can create one zone.

Request

POST /zone/zone_name/contact_email/state HTTP/1.0
Host: api.gslb.me 
Accept: encoding_type
Content-Length: 0
Authorization: Basic base64_credentials

Where:

  • zone_name is the name of the zone you want to set
  • contact_email is the e-mail address of the zone contact person
  • state is the desired state as either “enable” or “disable” (without quotes)
  • base64_credentials is username:password in base64-encoded format (HTTP Basic Authentication)
  • encoding_type is either application/xml or application/json (if the “Accept” header is omitted, response will be JSON-encoded)

Note: The “Content-Length: 0” header is mandatory.

Sample requests:

  • Raw request:
POST /zone/mynewdomain.com/admin@myotherdomain.com/enable HTTP/1.0
Host: api.gslb.me 
Accept: application/json
Content-Length: 0
Authorization: Basic dGVzdHVzZXJAZ3NsYi5tZTp0ZXN0cGFzc3dvcmQK
  • Using curl:
curl -u testuser@gslb.me:testpassword -X POST -H "Accept: application/json" -H "Content-Length: 0" -k https://api.gslb.me/zone/newzone.com/admin@myotherdomain.com/enable

Response

  • In case of success:
HTTP/1.1 200 OK
Content-Type: application/json

{"message":"Done","returncode":"0"}
  • If the user is not allowed to create more zones (free users can create one zone)
HTTP/1.1 403 Forbidden
Content-Type: application/json

{"message":"You can configure up to 1 zones, upgrade your account to \"pro\" to use more","returncode":"5"}
  • If the new zone already exists
HTTP/1.1 403 Forbidden
Content-Type: application/json

{"message":"Zone already exists","returncode":"6"}
  • If the new zone name is invalid
HTTP/1.1 400 Bad Request
Content-Type: application/json

{"message":"Invalid zone name","returncode":"3"}
  • If the contact e-mail address is invalid
HTTP/1.1 400 Bad Request
Content-Type: application/json

{"message":"Invalid contact e-mail address","returncode":"3"}
  • If the desired state is neither “enable” nor “disable”:
HTTP/1.1 400 Bad Request
Content-Type: application/json

{"message":"Bad parameter: desired zone state must be either \"enable\" or \"disable\"","returncode":"3"}
  • In case of internal error:
HTTP/1.1 500 Server Error
Content-Type: application/json

{"message":"Internal error, please contact support@gslb.me","returncode":"4"}