---
title: "Create a zone record"
method: POST
path: "/{account}/zones/{zone}/records"
tags: ["zones"]
---

# Create a zone record

`POST /{account}/zones/{zone}/records`

Creates a new zone record.

## Path parameters

- `account` integer, required
- `zone` string, required

## Request body

- object
  - `name` string, required
  - `type` 'A' | 'AAAA' | 'ALIAS' | 'CAA' | 'CNAME' | 'DNSKEY' | 'DS' | 'HINFO' | 'MX' | 'NAPTR' | 'NS' | 'POOL' | 'PTR' | 'SOA' | 'SPF' | 'SRV' | 'SSHFP' | 'TXT' | 'URL', required — The type of DNS record. Supported DNS record types are listed below. Note that some record types may only be available on specific plans.
  - `content` string, required
  - `ttl` integer — The Time To Live (TTL) value for the entry, in seconds.
  - `priority` integer
  - `regions` ZoneRecordRegion[]
  - `integrated_zones` integer[]

## Response `201`

Successfully created zone record.

- object
  - `data` ZoneRecord, required — A single DNS record in a zone.
    - `id` integer, required — The unique identifier for the record.
    - `zone_id` string, required — The unique identifier of the zone this record belongs to
    - `parent_id` integer, nullable, required — Deprecated - the value is always null.
    - `name` string, required — The name of the record (e.g., "www" for www.example.com).
    - `content` string, required — The content/value of the record (e.g., IP address for A records, hostname for CNAME records).
    - `ttl` integer, required — The Time To Live (TTL) value for the entry, in seconds.
    - `priority` integer, nullable, required — The priority value for MX and SRV records. Lower values have higher priority.
    - `type` 'A' | 'AAAA' | 'ALIAS' | 'CAA' | 'CNAME' | 'DNSKEY' | 'DS' | 'HINFO' | 'MX' | 'NAPTR' | 'NS' | 'POOL' | 'PTR' | 'SOA' | 'SPF' | 'SRV' | 'SSHFP' | 'TXT' | 'URL', required — The type of DNS record. Supported DNS record types are listed below. Note that some record types may only be available on specific plans.
    - `regions` ZoneRecordRegion[], required — The regions where this record is active. If empty, the record is active in all regions.
    - `system_record` boolean, required — Returns true if a record is a system generated record and thus is not modifiable.
    - `created_at` string, date-time, required — A date-time value, representing when the entry was created, formatted as ISO 8601.
    - `updated_at` string, date-time, required — A date-time value, representing when the entry was last updated, formatted as ISO 8601.

## Other responses

- `400` — A required parameter is missing or the request is invalid.
- `404` — The requested resource doesn't exist.

## Changes

- **2026-09-17** (v2) `faec8b49cc03` — 1 info
  - response property `data/parent_id` deprecated
- **2025-07-11** (v2) `06780be0ef17` — 3 breaking, 16 info
  - the request property `content` became required
  - the request property `name` became required
  - the request property `type` became required
  - the response property `data` became required for the status `201`
  - …15 more
- **2023-08-11** (v2) `98a794a9b191` — 1 info
  - added the new optional request property `integrated_zones`
- **2023-07-18** (v2) `c8591dcf8c29` — 18 breaking, 1 warning, 3 info
  - the response property `data/parent_id` became nullable for the status `201`
  - the response property `data/priority` became nullable for the status `201`
  - the response property `data` became optional for the status `201`
  - the response property `data/content` became optional for the status `201`
  - …18 more

[Change history](https://skmtc.dev/dnsimple/apis/dnsimple-api/changes/:account/zones/:zone/records/post.md)

---

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