# Update a DNS Record (Full Replacement)

> Update a DNS Record (Full Replacement) is a free API for AI agents from domains.rapidruntime.com, callable via MPP, Free, status unknown (last checked 2026-10-06).

Fully replaces an existing DNS record for a domain by record ID — all fields must be provided.

## Facts

- Endpoint: PUT https://domains.rapidruntime.com/api/v1/domains/{domain}/dns/{recordId}?utm_source=zero.xyz
- Price: Free
- Payment: MPP
- Status: unknown
- Last checked: 2026-10-06
- Activations on Zero: 0
- Provider: domains.rapidruntime.com
- Website: https://domains.rapidruntime.com
- Canonical page: https://www.zero.xyz/c/domains-rapidruntime-com-update-a-dns-record-full-replacement-ad4e8648
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_LaYjWkPGNTnSY-oMHL7S_

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability domains-rapidruntime-com-update-a-dns-record-full-replacement-ad4e8648 -d '<json body>'
```

Example prompt: Update the A record (ID 4821) on example.com — change the answer to 203.0.113.42, keep the host as www, and set TTL to 3600 seconds.

## When to prefer this

Use this endpoint when you need to fully replace an existing DNS record's values (type, host, answer, TTL, priority). Always fetch the current record first to preserve fields you don't intend to change, since this is a full replacement operation. Prefer this over create when the record already exists and only needs updating.

## Known failure modes

- Missing required fields (type, host, or answer) returns a 400 validation error
- Invalid record type (not in A/AAAA/ANAME/CNAME/MX/NS/SRV/TXT enum) returns 400
- TTL below 300 seconds fails validation
- Priority not provided for MX or SRV record type causes rejection
- Non-existent domain or recordId returns 404
- Unauthorized access returns 401 or 403
- Malformed answer value for the given record type may return 422

## How this service works

Full replacement — all fields must be provided. Fetch the record first, then modify.

## Output

Returns the updated DNS record object including its numeric ID, FQDN, host, type, answer value, TTL, priority, and domain name confirming the full replacement was applied.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "required": [
  "type",
  "host",
  "answer"
 ],
 "properties": {
  "ttl": {
   "type": "number",
   "minimum": 300,
   "description": "TTL in seconds (min 300)"
  },
  "host": {
   "type": "string",
   "description": "Relative hostname (use \"\" for apex)"
  },
  "type": {
   "enum": [
    "A",
    "AAAA",
    "ANAME",
    "CNAME",
    "MX",
    "NS",
    "SRV",
    "TXT"
   ],
   "type": "string",
   "description": "Record type"
  },
  "answer": {
   "type": "string",
   "description": "Record value"
  },
  "priority": {
   "type": "number",
   "description": "Priority (required for MX and SRV)"
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "object",
 "required": [
  "host",
  "type",
  "answer"
 ],
 "properties": {
  "id": {
   "type": "number"
  },
  "ttl": {
   "type": "number"
  },
  "fqdn": {
   "type": "string"
  },
  "host": {
   "type": "string"
  },
  "type": {
   "type": "string"
  },
  "answer": {
   "type": "string"
  },
  "priority": {
   "type": "number"
  },
  "domainName": {
   "type": "string"
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/domains-rapidruntime-com-update-a-dns-record-full-replacement-ad4e8648/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from domains.rapidruntime.com](https://www.zero.xyz/host/domains.rapidruntime.com/llms.txt)
