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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
Response JSON Object:
  • message (string)

  • success (boolean)