DDI-DNS
- GET /ddi/dns/records
List DNS records
Retrieves all DNS records for a specific zone with optional filters
- Query Parameters:
zone_name (string) – DNS Zone Name
record_type (string) – Record type filter (A, AAAA, CNAME, PTR, etc.)
search (string) – Search in name or value
- Status Codes:
200 OK – OK
400 Bad Request – Bad Request
500 Internal Server Error – Internal Server Error
- Response JSON Object:
data.records[].comment (string)
data.records[].created_at (string)
data.records[].fqdn (string) – fully qualified domain name
data.records[].id (string)
data.records[].name (string) – relative name
data.records[].port (integer)
data.records[].priority (integer)
data.records[].ttl (integer)
data.records[].type (string)
data.records[].updated_at (string)
data.records[].value (string)
data.records[].weight (integer)
data.records[].zone (string)
data.total_count (integer)
data.zone (string)
message (string)
success (boolean)
- POST /ddi/dns/records
Create a DNS record
Creates a new DNS record in a zone
- Request JSON Object:
comment (string)
create_ptr (boolean) – Create reverse PTR record
create_reverse_zone (boolean) – Auto-create reverse zone if needed
name (string) – (required)
overwrite (boolean) – Overwrite if exists
port (integer) – For SRV records
priority (integer) – For MX, SRV records
ttl (integer)
type (string) – A, AAAA, CNAME, PTR, MX, TXT, SRV, etc. (required)
value (string) – (required)
weight (integer) – For SRV records
zone (string) – (required)
- Status Codes:
201 Created – Created
400 Bad Request – Bad Request
500 Internal Server Error – Internal Server Error
- Response JSON Object:
fqdn (string)
message (string)
name (string)
ptr_created (boolean)
success (boolean)
type (string)
value (string)
zone (string)
- POST /ddi/dns/records/bulk
Bulk DNS record operations
Performs multiple DNS record operations (ADD, UPDATE, DELETE) in a single request
- Request JSON Object:
operations[].action (string) – ADD, UPDATE, DELETE (required)
operations[].old_record (any) – For UPDATE/DELETE
operations[].record.comment (string)
operations[].record.create_ptr (boolean) – Create reverse PTR record
operations[].record.create_reverse_zone (boolean) – Auto-create reverse zone if needed
operations[].record.name (string) – (required)
operations[].record.overwrite (boolean) – Overwrite if exists
operations[].record.port (integer) – For SRV records
operations[].record.priority (integer) – For MX, SRV records
operations[].record.ttl (integer)
operations[].record.type (string) – A, AAAA, CNAME, PTR, MX, TXT, SRV, etc. (required)
operations[].record.value (string) – (required)
operations[].record.weight (integer) – For SRV records
operations[].record.zone (string) – (required)
zone (string) – (required)
- Status Codes:
200 OK – OK
400 Bad Request – Bad Request
500 Internal Server Error – Internal Server Error
- Response JSON Object:
failed (integer)
message (string)
results[].action (string)
results[].error (string)
results[].index (integer)
results[].name (string)
results[].status (string)
results[].type (string)
succeeded (integer)
success (boolean)
total (integer)
- DELETE /ddi/dns/records/{zone_name}/{record_id}
Delete a DNS record
Deletes an existing DNS record
- Parameters:
zone_name (string) – DNS Zone Name
record_id (string) – DNS Record ID
- Status Codes:
200 OK – OK
404 Not Found – Not Found
500 Internal Server Error – Internal Server Error
- Response JSON Object:
message (string)
success (boolean)
- GET /ddi/dns/records/{zone_name}/{record_id}
Get DNS record details
Retrieves detailed information about a specific DNS record
- Parameters:
zone_name (string) – DNS Zone Name
record_id (string) – DNS Record ID
- Status Codes:
200 OK – OK
404 Not Found – Not Found
500 Internal Server Error – Internal Server Error
- Response JSON Object:
data.comment (string)
data.created_at (string)
data.fqdn (string) – fully qualified domain name
data.id (string)
data.name (string) – relative name
data.port (integer)
data.priority (integer)
data.ttl (integer)
data.type (string)
data.updated_at (string)
data.value (string)
data.weight (integer)
data.zone (string)
message (string)
success (boolean)
- PUT /ddi/dns/records/{zone_name}/{record_id}
Update a DNS record
Updates an existing DNS record
- Parameters:
zone_name (string) – DNS Zone Name
record_id (string) – DNS Record ID
- Request JSON Object:
comment (string)
name (string)
port (integer)
priority (integer)
record_id (string) – (required)
ttl (integer)
type (string)
update_ptr (boolean) – Also update PTR record if exists
value (string)
weight (integer)
zone (string) – (required)
- Status Codes:
200 OK – OK
400 Bad Request – Bad Request
500 Internal Server Error – Internal Server Error
- Response JSON Object:
message (string)
name (string)
record_id (string)
success (boolean)
type (string)
value (string)
zone (string)
- GET /ddi/dns/zones
List all DNS zones
Retrieves all DNS zones from IPAM with optional filters
- Query Parameters:
network_id (string) – CloudStack network ID filter
type (string) – Zone type filter (Primary, Secondary)
status (string) – Zone status filter (active, paused)
include_records (boolean) – Include record count
- Status Codes:
200 OK – OK
500 Internal Server Error – Internal Server Error
- Response JSON Object:
data.total_count (integer)
data.zones[].comment (string)
data.zones[].masters[] (string)
data.zones[].name (string)
data.zones[].notify_enabled (boolean)
data.zones[].record_count (integer)
data.zones[].status (string) – active, paused, disabled
data.zones[].transfer_enabled (boolean)
data.zones[].type (string) – Primary, Secondary, Stub, Forwarder
data.zones[].updated_at (string)
message (string)
success (boolean)
- POST /ddi/dns/zones
Create a DNS zone
Creates a new DNS zone (Primary or Secondary)
- Request JSON Object:
comment (string)
create_reverse_zone (boolean) – Auto-create reverse zone
masters[] (string)
name (string) – (required)
network_id (string) – CloudStack network ID (optional)
notify_enabled (boolean)
reverse_zone_cidr (string) – CIDR for reverse zone
transfer_enabled (boolean)
type (string) – Primary, Secondary (required)
- Status Codes:
201 Created – Created
400 Bad Request – Bad Request
500 Internal Server Error – Internal Server Error
- Response JSON Object:
message (string)
reverse_zone_cidr (string)
reverse_zone_requested (boolean)
success (boolean)
type (string)
zone_name (string)
- DELETE /ddi/dns/zones/{zone_name}
Delete a DNS zone
Deletes an existing DNS zone
- Parameters:
zone_name (string) – DNS Zone Name
- Status Codes:
200 OK – OK
404 Not Found – Not Found
500 Internal Server Error – Internal Server Error
- Response JSON Object:
message (string)
success (boolean)
- GET /ddi/dns/zones/{zone_name}
Get DNS zone details
Retrieves detailed information about a specific DNS zone including records and statistics
- Parameters:
zone_name (string) – DNS Zone Name
- Status Codes:
200 OK – OK
404 Not Found – Not Found
500 Internal Server Error – Internal Server Error
- Response JSON Object:
data.records[].comment (string)
data.records[].created_at (string)
data.records[].fqdn (string) – fully qualified domain name
data.records[].id (string)
data.records[].name (string) – relative name
data.records[].port (integer)
data.records[].priority (integer)
data.records[].ttl (integer)
data.records[].type (string)
data.records[].updated_at (string)
data.records[].value (string)
data.records[].weight (integer)
data.records[].zone (string)
data.statistics.last_modified (string)
data.statistics.query_count (integer)
data.statistics.records_by_type (object)
data.statistics.soa_serial (string)
data.statistics.total_records (integer)
data.statistics.transfer_count (integer)
data.statistics.zone_name (string)
data.zone.comment (string)
data.zone.masters[] (string)
data.zone.name (string)
data.zone.notify_enabled (boolean)
data.zone.record_count (integer)
data.zone.status (string) – active, paused, disabled
data.zone.transfer_enabled (boolean)
data.zone.type (string) – Primary, Secondary, Stub, Forwarder
data.zone.updated_at (string)
message (string)
success (boolean)
- PUT /ddi/dns/zones/{zone_name}
Update a DNS zone
Updates an existing DNS zone
- Parameters:
zone_name (string) – DNS Zone Name
- Request JSON Object:
comment (string)
masters[] (string)
name (string) – (required)
new_name (string)
notify_enabled (boolean)
status (string) – active, paused, disabled
transfer_enabled (boolean)
type (string)
- Status Codes:
200 OK – OK
400 Bad Request – Bad Request
500 Internal Server Error – Internal Server Error
- Response JSON Object:
message (string)
success (boolean)