---
title: "Update a DNS record"
method: PATCH
path: "/domains/{name}/dns/records/{id}"
tags: ["dns-records"]
---

# Update a DNS record

`PATCH /domains/{name}/dns/records/{id}`

## Request

- Base URL: `https://api.unstoppabledomains.com/partner/v3`
- URL: `https://api.unstoppabledomains.com/partner/v3/domains/{name}/dns/records/{id}`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/unstoppabledomains/apis/reseller-api/docs/domains/:name/dns/records/:id/patch.ts> (a function with typed inputs; its response is checked against the schema)

Update an existing DNS record by ID. You can modify the record values and TTL. Use `$preview=true` to validate the request without applying the change.

## Path parameters

- `name` string, required
- `id` string, required

## Query parameters

- `$preview` boolean, required

## Request body

- DomainDnsRecordUpdateRequestBody: Update an existing DNS record. Only the fields provided will be changed.
  - `values` string[], required
  - `ttl` number

## Response `200`

DNS record update operation created

- DomainDnsRecordOperationResponse
  - `@type` 'unstoppabledomains.com/partner.v3.DomainDnsRecordOperationResult', required
  - `operation` OperationCheckResponse, required
    - `@type` 'unstoppabledomains.com/partner.v3.Operation', required
    - `id` string, required: Operation ID
    - `status` 'PREVIEW' | 'QUEUED' | 'PROCESSING' | 'FAILED' | 'COMPLETED' | 'CANCELLED' | 'AWAITING_UPDATES', required
    - `type` 'ADMIN_GENERIC' | 'DOMAIN_ADMIN_UPDATE' | 'DOMAIN_RENEW' | 'ACCOUNT_UPDATE' | 'DOMAIN_DNS_RECORD_CREATE' | 'DOMAIN_DNS_RECORD_UPDATE' | 'DOMAIN_DNS_RECORD_DELETE' | 'DOMAIN_DNS_RECORD_BATCH' | 'DOMAIN_DNS_SECURITY_ENABLE' | 'DOMAIN_DNS_SECURITY_DELETE' | 'DOMAIN_DNS_NAME_SERVER_UPDATE' | 'DOMAIN_HOSTING_UPDATE' | 'DOMAIN_HOSTING_DISABLE' | 'DOMAIN_TRANSFER_OUT' | 'DOMAIN_TRANSFER_OUT_TOGGLE' | 'DOMAIN_FLAGS_UPDATE' | 'DOMAIN_CONTACTS_UPDATE' | 'CONTACT_CREATE' | 'DOMAIN_SUGGESTION_CREATE' | 'DOMAIN_SUGGESTION_REFRESH' | 'DOMAIN_ADMIN_DNS_ZONE_MIGRATE', required
    - `domain` string
    - `createdAtTimestamp` number, required
    - `lastUpdatedTimestamp` number, required
    - `validUntilTimestamp` number
    - `dependencies` PlatformOperationDependency[], required: List of platform operation dependencies that make up this operation
      - union: A platform operation dependency. Discriminated by the `type` field — each type has its own `parameters` and `result` shape.
        - PlatformOperationDomainRegister: Registers a new domain with the specified owner contact and optional role contacts
          - `id` string, required
          - `@type` 'unstoppabledomains.com/partner.v3.PlatformOperation', required
          - `status` 'PREVIEW' | 'QUEUED' | 'PROCESSING' | 'FAILED' | 'COMPLETED' | 'CANCELLED' | 'AWAITING_UPDATES', required: Status of a platform operation dependency
          - `type` 'DOMAIN_REGISTER', required
          - `parameters` object, required
            - `owner` ContactAssignment, required: Reference to an existing or newly created contact
              - …
            - `contacts` NonRegistrantContacts: Non-registrant contact role assignments (admin, billing, tech)
              - …
            - `period` integer: Registration period in years
          - `error` OperationDependencyError: Error details for a failed operation dependency
            - `code` string, required: Error code identifying the failure type
            - `message` string, required: Human-readable error description
        - PlatformOperationDomainDnsRenew: Renews a domain for the specified period
          - `id` string, required
          - `@type` 'unstoppabledomains.com/partner.v3.PlatformOperation', required
          - `status` 'PREVIEW' | 'QUEUED' | 'PROCESSING' | 'FAILED' | 'COMPLETED' | 'CANCELLED' | 'AWAITING_UPDATES', required: Status of a platform operation dependency
          - `type` 'DOMAIN_DNS_RENEW', required
          - `parameters` object, required
            - `period` integer, required: Renewal period in years
          - `error` OperationDependencyError: Error details for a failed operation dependency
            - `code` string, required: Error code identifying the failure type
            - `message` string, required: Human-readable error description
        - PlatformOperationDnsRecordCreate: Creates a new DNS record for the domain
          - `id` string, required
          - `@type` 'unstoppabledomains.com/partner.v3.PlatformOperation', required
          - `status` 'PREVIEW' | 'QUEUED' | 'PROCESSING' | 'FAILED' | 'COMPLETED' | 'CANCELLED' | 'AWAITING_UPDATES', required: Status of a platform operation dependency
          - `type` 'DNS_RECORD_CREATE', required
          - `parameters` object, required
            - `subName` string: Subdomain name (empty for apex domain)
            - `type` 'A' | 'AAAA' | 'ALIAS' | 'CAA' | 'CNAME' | 'DNSKEY' | 'DS' | 'HTTPS' | 'IPSECKEY' | 'MX' | 'NAPTR' | 'NS' | 'PTR' | 'SOA' | 'SPF' | 'SRV' | 'SSHFP' | 'SVCB' | 'TLSA' | 'TXT', required
            - `values` string[], required
            - `ttl` integer, required: Time-to-live in seconds
          - `result` object
            - `id` string, required: ID of the created DNS record
          - `error` OperationDependencyError: Error details for a failed operation dependency
            - `code` string, required: Error code identifying the failure type
            - `message` string, required: Human-readable error description
        - PlatformOperationDnsRecordUpdate: Updates an existing DNS record
          - `id` string, required
          - `@type` 'unstoppabledomains.com/partner.v3.PlatformOperation', required
          - `status` 'PREVIEW' | 'QUEUED' | 'PROCESSING' | 'FAILED' | 'COMPLETED' | 'CANCELLED' | 'AWAITING_UPDATES', required: Status of a platform operation dependency
          - `type` 'DNS_RECORD_UPDATE', required
          - `parameters` object, required
            - `id` string, required: DNS record ID to update
            - `values` string[]
            - `ttl` integer: Time-to-live in seconds
          - `error` OperationDependencyError: Error details for a failed operation dependency
            - `code` string, required: Error code identifying the failure type
            - `message` string, required: Human-readable error description
        - PlatformOperationDnsRecordDelete: Deletes a DNS record
          - `id` string, required
          - `@type` 'unstoppabledomains.com/partner.v3.PlatformOperation', required
          - `status` 'PREVIEW' | 'QUEUED' | 'PROCESSING' | 'FAILED' | 'COMPLETED' | 'CANCELLED' | 'AWAITING_UPDATES', required: Status of a platform operation dependency
          - `type` 'DNS_RECORD_DELETE', required
          - `parameters` object, required
            - `id` string, required: DNS record ID to delete
          - `error` OperationDependencyError: Error details for a failed operation dependency
            - `code` string, required: Error code identifying the failure type
            - `message` string, required: Human-readable error description
        - PlatformOperationDomainSetNameServers: Sets the nameservers for a domain (external nameservers or revert to UD-managed)
          - `id` string, required
          - `@type` 'unstoppabledomains.com/partner.v3.PlatformOperation', required
          - `status` 'PREVIEW' | 'QUEUED' | 'PROCESSING' | 'FAILED' | 'COMPLETED' | 'CANCELLED' | 'AWAITING_UPDATES', required: Status of a platform operation dependency
          - `type` 'DOMAIN_SET_NAMESERVERS', required
          - `parameters` object, required
            - `items` string[]: Nameserver hostnames
          - `error` OperationDependencyError: Error details for a failed operation dependency
            - `code` string, required: Error code identifying the failure type
            - `message` string, required: Human-readable error description
        - PlatformOperationDomainDnsSecuritySetDnssec: Configures DNSSEC DS records at the registry for a domain
          - `id` string, required
          - `@type` 'unstoppabledomains.com/partner.v3.PlatformOperation', required
          - `status` 'PREVIEW' | 'QUEUED' | 'PROCESSING' | 'FAILED' | 'COMPLETED' | 'CANCELLED' | 'AWAITING_UPDATES', required: Status of a platform operation dependency
          - `type` 'DOMAIN_DNS_SECURITY_SET_DNSSEC', required
          - `parameters` object, required
            - `domain` string: Domain name
          - `error` OperationDependencyError: Error details for a failed operation dependency
            - `code` string, required: Error code identifying the failure type
            - `message` string, required: Human-readable error description
        - PlatformOperationDomainDnsSecurityDeleteDnssec: Removes DNSSEC DS records from the registry for a domain
          - `id` string, required
          - `@type` 'unstoppabledomains.com/partner.v3.PlatformOperation', required
          - `status` 'PREVIEW' | 'QUEUED' | 'PROCESSING' | 'FAILED' | 'COMPLETED' | 'CANCELLED' | 'AWAITING_UPDATES', required: Status of a platform operation dependency
          - `type` 'DOMAIN_DNS_SECURITY_DELETE_DNSSEC', required
          - `parameters` object, required
            - `domain` string: Domain name
          - `error` OperationDependencyError: Error details for a failed operation dependency
            - `code` string, required: Error code identifying the failure type
            - `message` string, required: Human-readable error description
        - PlatformOperationDomainDnsSecurityUpdateZone: Updates the DNS zone configuration for DNSSEC signing
          - `id` string, required
          - `@type` 'unstoppabledomains.com/partner.v3.PlatformOperation', required
          - `status` 'PREVIEW' | 'QUEUED' | 'PROCESSING' | 'FAILED' | 'COMPLETED' | 'CANCELLED' | 'AWAITING_UPDATES', required: Status of a platform operation dependency
          - `type` 'DOMAIN_DNS_SECURITY_UPDATE_ZONE', required
          - `parameters` object, required
            - `domain` string: Domain name
          - `error` OperationDependencyError: Error details for a failed operation dependency
            - `code` string, required: Error code identifying the failure type
            - `message` string, required: Human-readable error description
        - PlatformOperationDomainFlagLockUpdate: Updates domain flag lock settings (e.g., transfer lock, delete lock)
          - `id` string, required
          - `@type` 'unstoppabledomains.com/partner.v3.PlatformOperation', required
          - `status` 'PREVIEW' | 'QUEUED' | 'PROCESSING' | 'FAILED' | 'COMPLETED' | 'CANCELLED' | 'AWAITING_UPDATES', required: Status of a platform operation dependency
          - `type` 'DOMAIN_FLAG_LOCK_UPDATE', required
          - `parameters` object, required
            - `locks` DomainFlagLocks: Map of domain flag names to boolean lock values. Keys are DomainFlagType values.
            - `policyLocks` DomainFlagLocks: Map of domain flag names to boolean lock values. Keys are DomainFlagType values.
          - `error` OperationDependencyError: Error details for a failed operation dependency
            - `code` string, required: Error code identifying the failure type
            - `message` string, required: Human-readable error description
        - PlatformOperationDomainDnsContactSet: Updates contact role assignments for the domain
          - `id` string, required
          - `@type` 'unstoppabledomains.com/partner.v3.PlatformOperation', required
          - `status` 'PREVIEW' | 'QUEUED' | 'PROCESSING' | 'FAILED' | 'COMPLETED' | 'CANCELLED' | 'AWAITING_UPDATES', required: Status of a platform operation dependency
          - `type` 'DOMAIN_DNS_CONTACT_SET', required
          - `parameters` object, required
            - `owner` ContactAssignment: Reference to an existing or newly created contact
              - …
            - `admin` ContactAssignment: Reference to an existing or newly created contact
              - …
            - `billing` ContactAssignment: Reference to an existing or newly created contact
              - …
            - `tech` ContactAssignment: Reference to an existing or newly created contact
              - …
          - `error` OperationDependencyError: Error details for a failed operation dependency
            - `code` string, required: Error code identifying the failure type
            - `message` string, required: Human-readable error description
        - PlatformOperationContactCreate: Creates a new contact for use in domain registration or management
          - `id` string, required
          - `@type` 'unstoppabledomains.com/partner.v3.PlatformOperation', required
          - `status` 'PREVIEW' | 'QUEUED' | 'PROCESSING' | 'FAILED' | 'COMPLETED' | 'CANCELLED' | 'AWAITING_UPDATES', required: Status of a platform operation dependency
          - `type` 'CONTACT_CREATE', required
          - `parameters` object, required
            - `purposes` ContactPurpose[], required: Intended roles for this contact
          - `result` object
            - `id` string, required: ID of the created contact
          - `error` OperationDependencyError: Error details for a failed operation dependency
            - `code` string, required: Error code identifying the failure type
            - `message` string, required: Human-readable error description
        - PlatformOperationWebhookCreate: Creates a webhook subscription
          - `id` string, required
          - `@type` 'unstoppabledomains.com/partner.v3.PlatformOperation', required
          - `status` 'PREVIEW' | 'QUEUED' | 'PROCESSING' | 'FAILED' | 'COMPLETED' | 'CANCELLED' | 'AWAITING_UPDATES', required: Status of a platform operation dependency
          - `type` 'WEBHOOK_CREATE', required
          - `parameters` object, required
            - `url` string, required: Webhook callback URL
            - `type` 'OPERATION_FINISHED' | 'OPERATION_ACTION_REQUIRED' | 'OPERATION_CREATED', required
          - `result` object
            - `id` string, required: ID of the created webhook
          - `error` OperationDependencyError: Error details for a failed operation dependency
            - `code` string, required: Error code identifying the failure type
            - `message` string, required: Human-readable error description
        - PlatformOperationWebhookDelete: Deletes a webhook subscription
          - `id` string, required
          - `@type` 'unstoppabledomains.com/partner.v3.PlatformOperation', required
          - `status` 'PREVIEW' | 'QUEUED' | 'PROCESSING' | 'FAILED' | 'COMPLETED' | 'CANCELLED' | 'AWAITING_UPDATES', required: Status of a platform operation dependency
          - `type` 'WEBHOOK_DELETE', required
          - `parameters` object, required
            - `id` string, required: Webhook ID to delete
          - `error` OperationDependencyError: Error details for a failed operation dependency
            - `code` string, required: Error code identifying the failure type
            - `message` string, required: Human-readable error description

## Other responses

- `400`: Invalid request
- `401`: Authentication required
- `403`: Insufficient permissions
- `404`: Resource not found
- `500`: Internal server error

## Changes

- **2026-03-04** `88084df53913`: 1 breaking, 1 warning
  - the `@type` response's property type changed from `number` to `string` for status `200`
  - added the new `unstoppabledomains.com/partner.v3.DomainDnsRecordOperationResult` enum value to the `@type` response property for the response status `200`
- **2026-02-27** `64f751be432d`: 1 warning, 5 info
  - added the new `DOMAIN_ADMIN_DNS_ZONE_MIGRATE` enum value to the `operation/type` response property for the response status `200`
  - added the non-success response with the status `400`
  - added the non-success response with the status `401`
  - added the non-success response with the status `403`
  - …2 more
- …earlier changes not shown

[Operation history](https://skmtc.dev/unstoppabledomains/apis/reseller-api/changes/domains/:name/dns/records/:id/patch.md)

---

[API](https://skmtc.dev/unstoppabledomains/apis/reseller-api.md) - [All operations](https://skmtc.dev/unstoppabledomains/apis/reseller-api/llms.txt) - [OpenAPI document](https://skmtc.dev/unstoppabledomains/apis/reseller-api/revisions/e0ac88d02fe7?raw)
