This API method sets the zone state as either enabled or disabled. An enabled zone handles DNS requests while a disabled zone doesn’t respond to queries.

Request

PUT /zone/zone_name/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
  • 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:
PUT /zone/mydomain.com/disable 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 PUT -H "Accept: application/json" -H "Content-Length: 0" -k https://api.gslb.me/zone/mydomain.com/disable

Response

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

{"message":"Done","returncode":"0"}
  • 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 invalid zone:
HTTP/1.1 404 Not Found
Content-Type: application/json
{"message":"Zone not found","returncode":"2"}
  • 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"}