Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Published by Scroll Versions from this space and version HG-8.3.0

...

APIv1 - DNS  Module

Warning
ProVision's APIv1 system has been replaced by APIv2, and is now considered deprecated. 

Table of Contents

DNS Server Control

get

URL/api/v1/api.php?target=dnsServer&action=get
DescriptionIf provided with an id, fetches that DNS Server from the database. If not, fetches a list of all stored DNS Servers
Returns

Examples:

SUCCESSFUL:

{"success":1,"message":"Fetch Sucessful.","data":[{"id":"10","server":"mrbomasm-dns-4.onnet.net", "username":"user", "password":"vwvddp","port":"2600","customer_name":null,"transfer_type": "SCP","remote_directory":"zones", "named_conf_path":"\/etc\/zones","active":"1","post_command":null,"pre_command":null,"dyn_DNSSEC_contact":null, "powerdns_backend":"Bind","db_username":null,"db_password":"(","db_port":null,"db_name":null, "server_type":"slave","SOA":null,"master_id":null,"options": "{\"customer_name\":\"\",\"server_type\":\"slave\" ,\"SOA\":\"\",\"remote_directory\":\"zones\", \"named_conf_path\":\"\\\/etc\\\/zones\", \"dyn_DNSSEC_contact\" :\"\",\"post_command\":\"\" ,\"pre_command\":\"\",\"powerdns_backend\":\"Bind\", \"db_username\":\"\",\"db_password\":\"(\",\"db_port\":\"\",\"db_name\":\"\",\"enable_views\":\"1\"}", "testID":"963","zoneCount":"8","views":"[{\"id\":\"1\", \"server_id\":\"10\",\"name\":\"_exampleDefault\",\"extras\":\"[]\",\"description\":\"\",\"timestamp\":\"1371789181\"},{\"id\":\"3\",\"server_id\":\"10\",\"name\":\"internal\",\"extras\":\"[]\",\"description\":null,\"timestamp\":\"1374686650\"}]"}]}

ERROR:{"success":0, "message":"error message"}


Data Detail:

NameTypeDescription
idINTEGERServer ID
serverSTRINGServer Name
usernameSTRINGLogin Name
passwordCRYPTLogin Password
portINTEGERPort the Server listens on
zoneCountINTEGERThe number of zones attached to this server.
optionsJSON

The options entry is a JSON-encoded string containing a variety of server-specific configuration options.

This string will vary widely by server type and configuration. The following are a selection of common settings.

transfer_typeSTRINGProtocol used for transfer of DNS zones and records. Valid settings include SCP, PowerDNS, Secure64, Secure64Signer
server_typeSTRINGWhether this server is a master or a slave server
SOASTRINGThe SOA entry to be used for zones on this server
remote_directorySTRINGThe directory where SCP will place the zone files.
named_conf_pathSTRINGThe path to the zone files used within the named.conf file.
pre_commandSTRINGThe command executed on the server before the zones are transferred
post_commandSTRINGThe command executed on the server after the transfer is complete
enable_viewsINTEGERWhether or not Views are enabled
viewsJSON

The views entry is a JSON-encoded string containing all the information about the Views attached to this server, if any exist.

idINTEGERThe View ID
server_idINTEGERThe ID of the server the View is attached to
nameSTRINGThe name of the View
descriptionSTRINGA description of the View
timestampINTEGERThe UNIX timestamp of when the view was created.
extrasJSONA JSON-encoded array of the extra attributes printed out in the view definition in the config file.


Required ParametersNone
Optional Parameters


NameTypeExampleDescription
idINTEGER15The server id to fetch.


Example URL/api/v1/api.php?target=dnsServer&action=get&id=15

...

transferSingle

URL/api/v1/api.php?target=dnsServer&action=transferSingle
Description

Transfers a single Zone file to all its associated DNS Servers, along with updated server configurations.

Performs pre and post commands on the target servers, transfers the zone file(s), and restarts services.

Returns

Examples:

SUCCESSFUL:{"success":1,"message":"Updated Zone: $name.zone on $server via SCP"}
ERROR:{"success":0, "message":"error message"}


Required Parameters


NameTypeExampleDescription
zoneIdINTEGER35The ID of the zone to push


Optional ParametersNone
Example URL/api/v1/api.php?target=dnsServer&action=transferSingle&zoneId=35

 

DNS Zone Control

get

URL/api/v1/api.php?target=zone&action=get
Description

Accepts search criteria to retrieve a list of all matching DNS Zones and associated Records.

Search can be performed on any combination of Zone and Record attributes.

Returns

Examples:

SUCCESSFUL:{"success":1,"message":"Search Successful.","data":[{"zoneId":"932","zoneName":"185.160.209.in-addr.arpa","zoneResourceId":"81", "zoneSerial":"2013040302","zoneRefresh":"28800","zoneRetry":"7200","zoneExpire":"604800","zoneMinimum":"86400","zoneSOA":null, "zoneTTL":"28800","zoneAutoCheck":"1","zoneEnableDNSSEC":null,"recordId":"154110","recordZoneId":"932", "recordHost": "185.160.209.inaddr.arpa.","recordType":"NS","recordValue":"auth01.veroxity.net.","recordDescription":null,"recordTTL":"28800", "recordOrdering":"1", "recordErrors":null,"assetId":"0","userCanCreate":0,"userCanDelete":1,"userCanUpdate":1}]}
ERROR:{"success":0, "message":"error message"}


Data Detail:

NameTypeDescription
zoneIdINTEGERThe Id of the Zone entry. A single Zone entry might have multiple Records.
zoneNameSTRINGThe Zone name.
zoneResourceIdINTEGERThe resource Id associated with this Zone.
zoneSerialINTEGERZone Serial.
zoneRefreshINTEGERZone Refresh.
zoneRetryINTEGERZone Retry.
zoneExpireINTEGERZone Expire.
zoneMinimumINTEGERZone Minimum.
zoneSOASTRINGZone SOA.
zoneTTLSTRINGZone TTL.
zoneEnableDNSSECBOOLWhether or not DNSSEC is enabled for this Zone.
zoneAutoCheckBOOLWhether or not this zone is configured to be automatically validated on load/edit.
recordIdINTEGERThe Id of this Record Entry. It is always included with its parent Zone.
recordHostSTRINGThe Hostname of this Record.
recordTypeSTRINGThe Record Type (MX,NS,A,PTR,etc)
recordValueSTRINGThe Value of this Record.
recordDescriptionSTRINGA short description of this Record.
recordTTLSTRINGThe TTL of this Record.
recordOrderingINTEGERThe numerical order in which the record appears in the zone.
recordErrorsSTRINGA string containing any detected problems with this record
userCanCreateBOOLWhether or not the user has DNS CREATE permissions on this zone's resource
userCanUpdateBOOLWhether or not the user has DNS UPDATE permissions on this zone's resource
userCanDeleteBOOlWhether or not the user has DNS DELETE permissions on this zone's resource
unpagedRowsINTEGERIf pagination is used, this value will contain a total count of records had the pagination not been used.


Required ParametersNone
Optional Parameters


NameTypeExampleDescription
likeFlagBOOL1When 1, string searches are done via LIKE with wildcards at both ends. When 0, strict comparison is used.
generalFlagBOOL1When 1, searches over the provided parameters using OR. If 0 or omitted, uses AND.
selectCountINTEGER30When supplied only returns the first X entries


NameTypeExampleDescription
zoneIdINTEGER123The Zone Id to search for.
zoneNameSTRINGfooThe Zone Name to search for.
zoneResourceIdINTEGER5The Resource Id to search for.
zoneSerialINTEGER2012033001The Zone Serial to search for.
zoneRefreshINTEGER36000The Zone Refresh to search for.
zoneRetryINTEGER800The Zone Retry to search for.
zoneExpireINTEGER6090000The Zone Expire to search for.
zoneMinimumINTEGER10The Zone Minimum to search for.
zoneSOASTRING200The Zone SOA to search for.
zoneTTLINTEGER3600The Zone TTL to search for.
zoneEnableDNSSECINTEGER1Search based on DNSSEC settings.
recordIdINTEGER123The Record Id to search for.
recordZoneIdINTEGER123The parent Zone to search for.
recordHostSTRING@The Record Host to search for.
recordTypeSTRINGNSThe Record Type to search for.
recordValueSTRINGns1.dns.example.com.The Record Value to search for.
recordDescriptionSTRINGDescriptionSearch based on Record Description.
recordTTLSTRING3600The Record TTL to search for.


Example URL/api/v1/api.php?target=zone&action=get&zoneId=123

...

getArchivedZone

URL/api/v1/api.php?target=zone&action=getArchivedZone
Description

Searches for all archived versions of the a zone. Zones are archived every time changes are pushed to their DNS Server.

Returns

Examples:

SUCCESSFUL:{"success":1,"message":"Search Successful.","data":[{"zoneArchiveId" :"2768","zoneId":"1227", "zoneArchiveTimestamp":"1375298692", "zoneArchiveFingerprint":"d060e59d69606326d80b2e55b50f0bc9","zoneName":"example.com","zoneIpver":null, "zoneMask":null,"zoneSerial": "2013073105","zoneRefresh":"14400","zoneRetry":"2000","zoneExpire":"604800", "zoneMinimum":"3600", "zoneSOA":null,"zoneTTL":"3600","zoneEnableDNSSEC":"1", "zoneResourceId":"1013","zonePreviousViewLinkage":"[]"}]}
ERROR:{"success":0, "message":"error message"}


Data Detail:

NameTypeDescription
zoneIdINTEGERThe Id of the Zone entry to find archived versions of.
zoneArchiveIdINTEGERThe ID of the Archive Entry
zoneArchiveTimestampINTEGERA timestamp marking when this zone was archived.
zoneArchiveFingerprintSTRINGA hash value identifying this zone. Used for comparing versions.
zoneNameINTEGERZone Name.
zoneSerialINTEGERZone Serial.
zoneRefreshINTEGERZone Refresh.
zoneRetryINTEGER
Zone Retry.
zoneExpireINTEGERZone Expire.
zoneMinimumINTEGERZone Minimum.
zoneSOASTRINGZone SOA.
zoneTTLINTEGERZone TTL.
zoneEnableDNSSECSTRINGWhether or not this version had DNSSEC enabled.
zoneResourceIdSTRINGZone Resource ID
zonePreviousViewLinkageJSONA JSON-encoded array of views this zone was linked to.


Required ParametersNone
Optional Parameters


NameTypeExampleDescription
zoneIdINTEGER123The Zone Id to search for.
zoneArchiveIdINTEGER123The Zone Archive Id
zoneArchiveTimestampINTEGER2012033001The Zone Archive Timestamp
fetchArchiveFileBOOL1Whether or not to return the full Zone file with the result set..


Example URL/api/v1/api.php?target=zone&action=getArchivedZone&zoneId=123

DNS Record Control

get

URL/api/v1/api.php?target=record&action=get
DescriptionAccepts search criteria to retrieve a list of all matching DNS Records. Search can be performed on any combination of Zone and Record attributes.
Returns

Examples:

SUCCESSFUL:{"success":1,"message":"Search Successful.","data":[{"recordId":"30894","recordZoneId":"229","recordHost":"@","recordType":"NS","recordValue":"ns1.domain.com.","recordDescription":"","recordTTL":""}]}
ERROR:{"success":0, "message":"error message"}


Data Detail:

NameTypeDescription
recordIdINTEGERThe ID of this Record Entry. It is always included with its parent Zone.
recordZoneIdINTEGERThe ID of this Record's parent Zone.
recordHostSTRINGThe Hostname of this Record.
recordTypeSTRINGThe Record Type (MX,NS,A,PTR,etc)
recordValueSTRINGThe Value of this Record.
recordDescriptionSTRINGA short description of this Record.
recordTTLSTRINGThe TTL of this Record.


Required ParametersNone
Optional Parameters


NameTypeExampleDescription
likeFlagBOOL1When 1, string searches are done via LIKE with wildcards at both ends. When 0, strict comparison is used.
selectCountINTEGER30When supplied only returns the first X entries
selectOffsetINTEGER10When supplied, only returns entries after record X


NameTypeExampleDescription
recordIdINTEGER123The Record ID to search for.
recordZoneIdINTEGER123The parent Zone to search for.
recordHostSTRING@The Record Host to search for.
recordTypeSTRINGNSThe Record Type to search for.
recordValueSTRINGns1.dns.example.com.The Record Value to search for.
recordDescriptionSTRINGDescriptionSearch based on Record Description.
recordTTLSTRING3600The Record TTL to search for.



NameTypeExampleDescription
zoneIdINTEGER123The Zone Id to search for.
zoneNameSTRINGfooThe Zone Name to search for.
zoneResourceIdINTEGER5The Resource Id to search for.
zoneCustNameSTRINGfooThe Customer Name to search for.
zoneIpverSTRINGIPv6The IP Version to search for.
zoneSerialINTEGER2012033001The Zone Serial to search for.
zoneRefreshINTEGER36000The Zone Refresh to search for.
zoneRetryINTEGER800The Zone Retry to search for.
zoneExpireINTEGER6090000The Zone Expire to search for.
zoneMinimumINTEGER10The Zone Minimum to search for.
zoneSOASTRING200The Zone SOA to search for.
zoneTTLINTEGER3600The Zone TTL to search for.
zoneEnableDNSSECINTEGER1Search based on DNSSEC settings.


Example URL/api/v1/api.php?target=record&action=get&selectCount=30&zoneId=123

...

switch

URL/api/v1/api.php?target=record&action=switch
DescriptionSwitches the order of two record entries.
Returns

Examples:

SUCCESSFUL:{"success":1,"message":"Record Moved."}
ERROR:{"success":0, "message":"error message"}


Required Parameters


NameTypeExampleDescription
moveWhichIdINTEGER123The Record Id to be moved.
moveAfterIdINTEGER42The Id of the Record the first Record is to be moved after.


Optional ParametersNone
Example URL/api/v1/api.php?target=record&action=switch&moveWhichId=123&moveAfterId=42

Server-Zone Linkage

get

URL/api/v1/api.php?target=zoneLinkage&action=get
DescriptionSearches for Server-Zone Linkages. If no search parameters are supplied, all linkages are returned.
Returns

Examples:

SUCCESSFUL:{"success":1,"message":"2 rows retrieved.","data":[{"id":"285","zoneId":"64","serverId":"1","serverName":"173.164.182.169","serverType":"SCP","serverMasterType":"master","zoneName":"bind.com","resourceId":"483"},{"id":"287","zoneId":"371","serverId":"1","serverName":"173.164.182.169","serverType":"SCP","serverMasterType":"master","zoneName":"132.235.198.in-addr.arpa","resourceId":"577"}}
ERROR:{"success":0, "message":"error message"}


Data Detail:

NameTypeDescription
idINTEGERThe Linkage Id.
zoneIdINTEGERThe ZoneId involved in this link.
serverIdINTEGERThe ServerId involved in this link.
serverNameSTRINGThe server name
serverTypeSTRINGThe server transfer type
serverMasterTypeSTRINGWhether this server is a master or a slave.
zoneNameSTRINGThe zone name
resourceIdINTEGERThe Resource Id the Zone is attached to.


Required ParametersNone
Optional Parameters


NameTypeExampleDescription
idINTEGER15Fetches the linkage with the matching id.
serverIdINTEGER15Fetches all linkages with the matching serverId.
zoneIdINTEGER15Fetches all linkages with the matching zoneId.


Example URL/api/v1/api.php?target=zoneLinkage&action=get&id=15

...