# Records (https://developer.godaddy.com/en/docs/references/rest/domains/v3/records)

***

title: Records
description: >
CRUD operations on DNS records within the GoDaddy-managed zone. Sub-collection
of /zones/. Changes are applied synchronously.
full: true
\_openapi:
preload:

* ./openapi-specs/specs/domains-v3/v3/schemas/openapi.yaml
  toc:
* depth: 2
  title: List DNS records in a zone
  url: '#list-dns-records-in-a-zone'
* depth: 2
  title: Create a DNS record for a zone
  url: '#create-a-dns-record-for-a-zone'
* depth: 2
  title: Replace a DNS record
  url: '#replace-a-dns-record'
* depth: 2
  title: Delete a DNS record
  url: '#delete-a-dns-record'
  structuredData:
  headings:
  * content: List DNS records in a zone
    id: list-dns-records-in-a-zone
  * content: Create a DNS record for a zone
    id: create-a-dns-record-for-a-zone
  * content: Replace a DNS record
    id: replace-a-dns-record
  * content: Delete a DNS record
    id: delete-a-dns-record
    contents:
  * content: |
    Returns a paginated collection of DNS resource records for the
    specified zone. Supports filtering by record type and host name,
    field projection, and page-based pagination.

    Pagination uses page (1-based) and pageSize query parameters.
    Pass totalRequired=true to include totalItems and totalPages when
    at least one record matches; both are omitted for empty result
    sets. Defaults to false to avoid count-query overhead.

    Filter parameters are combined with logical AND. Pagination links
    in the response preserve active filter, pagination, and
    field-projection parameters.

    sortBy and sortOrder are not supported. Results are always
    returned in canonical zone-file order: resource record type (IANA
    RR type number ascending — e.g. A before NS before CNAME), then
    name, then data. This matches authoritative DNS ordering and is
    not client-configurable.
    heading: list-dns-records-in-a-zone
  * content: >
    Creates a new DNS record in the GoDaddy-managed zone. Changes are
    applied synchronously; no operation polling required.
    heading: create-a-dns-record-for-a-zone
  * content: |
    Fully replaces an existing DNS resource record identified by
    recordId within the zone. All writable fields (name, type, data,
    ttl) must be supplied; partial updates are not supported on this
    endpoint. Changes are applied synchronously.

    GoDaddy-managed system records (SOA and NS) are read-only. When
    recordId refers to such a record, the request fails with
    `409 Conflict` — the record exists but cannot be modified.
    heading: replace-a-dns-record
  * content: |
    Permanently removes a DNS resource record from the zone. The
    recordId must refer to an existing record within the specified
    zone. Changes are applied synchronously.

    GoDaddy-managed system records (SOA and NS) are read-only. When
    recordId refers to such a record, the request fails with
    `409 Conflict` — the record exists but cannot be deleted.
    heading: delete-a-dns-record

***
