BlueCat Distributed DDNS includes an extensive set of REST API endpoints that let you
retrieve information and configure the Adaptive Application. You can view the latest
REST API Swagger documentation by entering the following URL in your browser:
http://<Gateway hostname or IP>/distributed-ddns/ddns-application/api/v1/swagger
From this page, you can view a list of all supported API methods, their input parameters, and test the API methods. The Swagger documentation also includes an extensive list of Schema templates.
The REST API uses four main HTTP methods for interacting with different objects:
HTTP Method | Description |
---|---|
GET | Retrieve data |
POST | Upload data |
PUT | Update data, replacing the entire resource |
DELETE | Delete data |
PATCH | Patch data, replacing specific fields of a resource |
Accessing the endpoints
To access a REST API endpoint, append the API endpoint to the BlueCat Gateway URL:
http://<Gateway hostname or IP>/distributed-ddns/ddns-application/api/v1/<API endpoint>
.
For example, the following GET API call retrieves the DDDNS
backup history for a DDDNS at IP address
1.2.3.4:GET http://1.2.3.4/distributed-ddns/ddns-application/api/v1/backup-history
List of DDDNS API endpoints
Endpoint | Description |
---|---|
Anycast | |
GET .../anycast-vips |
Get the Anycast VIP collection |
POST .../anycast-vips |
Create an Anycast VIP object. |
DELETE .../anycast-vips |
Delete an Anycast VIP object. |
Configuration | |
GET
.../configurations/bam-config |
Get the Address Manager configuration. |
POST
.../configurations/bam-config |
Save the Address Manager configuraiton. |
PUT
.../configurations/bam-config |
Update the Address Manager configuration. |
GET
.../configurations/data-config |
Get the database settings. |
POST
.../configurations/data-config |
Create database settings. |
PUT
.../configurations/data-config |
Update the database settings. |
DELETE
.../configurations/data-config |
Delete the database settings. |
GET
.../configurations/backup-history |
Get the collection of backup history entries. |
DELETE
.../configurations/backup-history/{backup_id} |
Delete backup history. |
GET
.../configurations/datbase-connections |
Get a collection of database connections |
PUT
.../configurations/database-connections/{db_node_addr} |
Switch to a different database connection. |
Aging and scavenging | |
GET
.../aging-scavenging/aging-config |
Get the cluster-wide aging settings. |
POST
.../aging-scavenging/aging-config |
Create the cluster-wide aging settings. |
PUT
.../aging-scavenging/aging-config |
Update the cluster-wide aging settings. |
DELETE
.../aging-scavenging/aging-config/{setting_data_id} |
Delete the cluster-wide aging settings. |
GET
.../aging-scavenging/scavenging-by-types |
Get the collection of scavenging-by-type jobs. |
POST
.../aging-scavenging/scavenging-by-types |
Create one or more scavenging-by-type jobs. |
PUT
.../aging-scavenging/scavenging-by-types |
Update one or more scavenging-by-type jobs. |
DELETE
.../aging-scavenging/scavenging-by-types/{record_type_name} |
Delete a scavenging-by-type job. |
GET
.../aging-scavenging/scavenging-by-types/{record_type_name} |
Get the details of a scavenging-by-type job. |
POST
.../aging-scavenging/scavenging-by-types/{record_type_name}/scavenging |
Run a scavenging-by-type job now. |
Application version | |
GET .../app-version |
Get the current version of the application. |
BlueCat DNS/DHCP Servers (BDDS) | |
GET .../bdds-servers |
Get the BDDS server collection. |
POST
.../bdds-servers/{bam_server_id}/deployment |
Deploy the DDDNS service to a BDDS server. |
PUT
.../bdds-servers/{bam_server_id}/upgrading |
Upgrade the DDDNS service on a BDDS server. |
PUT
.../bdds-servers/{bam_server_id}/upgrading/db-schema |
Upgrade the database schema on a BDDS server. |
Resource records (RR) | |
GET .../resource-records |
Get the collection of resource records. |
PUT .../resource-records |
Update one or more resource records. |
DELETE
.../resource-records/history |
Delete old resource records. |
DELETE
.../resource-records/scavenging |
Scavenge records. |
GET.../resource-records/{rr_id} |
Get a specific resource record. |
GET.../resource-records/{rr_id}/history |
Get the history for a specific resource record. |
GET.../resource-records/{rr_id}/permissions |
Get the collection of permissions for a specific resource record. |
DELETE
.../resource-records/{rr_id}/scavenging |
Delete a scavenged record. |
Service nodes | |
GET .../service-nodes |
Get the collection of service nodes. |
POST .../service-nodes |
Create a service node. |
DELETE
.../service-nodes/{service_node_id} |
Delete a service node. |
GET
.../service-nodes/{service_node_id} |
Get the details of a service node. |
PUT
.../service-nodes/{service_node_id} |
Update a service node. |
GET
.../service-nodes/{service_node_id}/diagnostics |
Get the service node diagnostics bundle. |
GET
.../service-nodes/{service_node_id}/services |
Get the collection of services for a service node. |
GET
.../service-nodes/{service_node_id}/services/{service_id} |
Get one service from a service node. |
PUT
.../service-nodes/{service_node_id}/services/{service_id} |
Update a service from a service node. |
GET
.../service-nodes/{service_node_id}/services/{service_id}/config-file |
Get the configuration of a service from a service node. |
GET
.../service-nodes/{service_node_id}/services/{service_id}/logging |
Get the service log of a service from a service node. |
TSIG keys | |
GET .../tsig-keys |
Get the collection of TSIG keys. |
GET
.../tsig-keys/{tsig-key} |
Get a specific TSIG key. |
Zones | |
GET .../zones |
Get the collection of zones. |
POST .../zones |
Add a new zone. |
DELETE .../zones/{zone_id} |
Remove a zone. |
GET .../zones/{zone_id} |
Get a specific zone. |
PUT .../zones/{zone_id} |
Update a zone. |
GET
.../zones/{zone_id}/permissions/{permission_id}/creator-owned-records |
Get the creator-owned records collection. |
POST
.../zones/{zone_id}/permissions/{permission_id}/creator-owned-records |
Create one or more creator-owned records. |
PUT
.../zones/{zone_id}/permissions/{permission_id}/creator-owned-records |
Update one or more creator-owned records. |
DELETE
.../zones/{zone_id}/permissions/{permission_id}/creator-owned-records/record-name/{rr_name}/record-type/{rr_type} |
Delete a specific creator-owned record. |
GET
.../zones/{zone_id}/permissions/{permission_id}/creator-owned-records/record-name/{rr_name}/record-type/{rr_type} |
Get a specific creator-owned record. |
GET
.../zones/{zone_id}/permissions/{permission_id}/managed-domain-controllers |
Get the collection of managed domain controllers. |
POST
.../zones/{zone_id}/permissions/{permission_id}/managed-domain-controllers |
Create a managed domain controller. |
DELETE
.../zones/{zone_id}/permissions/{permission_id}/managed-domain-controllers |
Delete a managed domain controller. |
PUT
.../zones/{zone_id}/permissions/{permission_id}/managed-domain-controllers |
Update a managed domain controller. |
GET
.../zones/{reverse_zone_id}/secured_domains |
Get the collection of secured domains from the reverse lookup zone. |
PUT
.../zones/{reverse_zone_id}/secured_domains |
Update the list of secured domains in the reverse lookup zone. |
GET
.../zones/{zone_id}/permissions |
Get the collection of permissions for a zone. |
POST
.../zones/{zone_id}/permissions |
Add a permission to a zone. |
DELETE
.../zones/{zone_id}/permissions/{permission_id} |
Delete a permission for a zone. |
GET
.../zones/{zone_id}/permissions/{permission_id} |
Get a specific permission for a zone. |
PUT
.../zones/{zone_id}/permissions/{permission_id} |
Update a specific permission for a zone. |