NeXuS

DNS API

The DNS API provides full CRUD access to Cloudflare DNS records through the API Gateway. It proxies requests to the Cloudflare API v4 using a configured API token.

Prerequisites

Set the following environment variables:

CLOUDFLARE_API_TOKEN=your-api-token
CLOUDFLARE_ZONE_ID=your-zone-id

The API token must have Zone:DNS:Edit permissions for the target zones.

Endpoints

GET /dns/zones

List all Cloudflare zones accessible by the configured API token.

Response (200):

{
  "success": true,
  "result": [
    {
      "id": "zone-id-here",
      "name": "sebhosting.com",
      "status": "active",
      "type": "full"
    }
  ]
}

GET /dns/zones/:zoneId/records

List all DNS records for a zone (up to 100 records).

Parameters:

Response (200):

{
  "success": true,
  "result": [
    {
      "id": "record-id",
      "type": "A",
      "name": "nexus.sebhosting.com",
      "content": "203.0.113.1",
      "proxied": true,
      "ttl": 1
    }
  ]
}

POST /dns/zones/:zoneId/records

Create a new DNS record.

Request:

{
  "type": "A",
  "name": "new-service",
  "content": "203.0.113.1",
  "ttl": 1,
  "proxied": true
}

Supported record types: A, AAAA, CNAME, MX, TXT, SRV, NS, CAA

PUT /dns/zones/:zoneId/records/:recordId

Update an existing DNS record.

Request:

{
  "type": "A",
  "name": "service",
  "content": "203.0.113.2",
  "ttl": 1,
  "proxied": true
}

DELETE /dns/zones/:zoneId/records/:recordId

Delete a DNS record.

Response (200):

{
  "success": true,
  "result": {
    "id": "record-id"
  }
}

Error Handling

All DNS endpoints proxy Cloudflare’s response format. On internal errors:

{
  "success": false,
  "errors": [
    {
      "message": "CLOUDFLARE_API_TOKEN not configured"
    }
  ]
}

Frontend Integration

The NeXuS dashboard includes a full DNS management UI at /dashboard/dns that uses these endpoints to: