> ## Documentation Index
> Fetch the complete documentation index at: https://bunny.net/docs/llms.txt
> Use this file to discover all available pages before exploring further.
# Add DNS Zone
## OpenAPI
````yaml https://core-api-public-docs.b-cdn.net/docs/v3/public.json post /dnszone
openapi: 3.0.0
info:
title: bunny.net API
description: >-
Learn how to use the [bunny.net](https://bunny.net "bunny.net - The content delivery platform that truly hops.") API. Everything that can be done with the control panel can also be achieved with our API documented on this page. To learn how to use the storage API, have a look at our storage API documentation
Third party API clients:
We currently do not maintain an official API library, but you can use one of the third party ones provided here:
https://github.com/codewithmark/bunnycdn (bunny.net PHP library, thanks to Code With Mark)
Note that third party clients are not maintained or developed by bunny.net so we unfortunately cannot offer support for them.
termsOfService: https://bunny.net/tos
contact:
name: bunny.net
url: https://docs.bunny.net
email: support@bunny.net
version: 1.0.0
servers:
- url: https://api.bunny.net
description: bunny.net API Server
security:
- AccessKey: []
tags:
- name: Stream Video Library
- name: User
- name: AuditLog
- name: Storage Zone
- name: Statistics
- name: Search
- name: Pull Zone
- name: Pricing
- name: Load Balancer
- name: DNS Zone
- name: DNSSEC
- name: Billing
- name: API Keys
- name: Affiliate
- name: Countries
- name: Purge
- name: Region
paths:
/dnszone:
post:
tags:
- DNS Zone
summary: Add DNS Zone
operationId: DnsZonePublic_Add
requestBody:
x-name: dnsZoneModel
content:
application/json:
schema:
$ref: '#/components/schemas/DnsZoneAddModel'
required: true
x-position: 1
responses:
'201':
description: The DNS Zone was successfully added
'400':
description: Failed adding the DNS Zone. Model validation failed
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorData'
'401':
description: The request authorization failed
'500':
description: Internal Server Error
components:
schemas:
DnsZoneAddModel:
type: object
additionalProperties: false
required:
- Domain
properties:
Domain:
type: string
description: The domain that will be added.
minLength: 1
Records:
type: array
description: Optional array of DNS records to add when creating the zone.
nullable: true
items:
$ref: '#/components/schemas/AddDnsRecordModel'
ApiErrorData:
type: object
additionalProperties: false
properties:
ErrorKey:
type: string
nullable: true
Field:
type: string
nullable: true
Message:
type: string
nullable: true
AddDnsRecordModel:
type: object
additionalProperties: false
properties:
Type:
description: |-
Show all 16 values
| Value | Name |
|---|---|
| `0` | A |
| `1` | AAAA |
| `2` | CNAME |
| `3` | TXT |
| `4` | MX |
| `5` | Redirect |
| `6` | Flatten |
| `7` | Pull Zone |
| `8` | SRV |
| `9` | CAA |
| `10` | PTR |
| `11` | Script |
| `12` | NS |
| `13` | SVCB |
| `14` | HTTPS |
| `15` | TLSA |
nullable: true
oneOf:
- $ref: '#/components/schemas/DnsRecordTypes'
Ttl:
type: integer
format: int32
nullable: true
Value:
type: string
nullable: true
Name:
type: string
nullable: true
Weight:
type: integer
format: int32
nullable: true
Priority:
type: integer
format: int32
nullable: true
Flags:
type: integer
format: byte
nullable: true
Tag:
type: string
nullable: true
Port:
type: integer
format: int32
nullable: true
PullZoneId:
type: integer
format: int64
nullable: true
ScriptId:
type: integer
format: int64
nullable: true
Accelerated:
type: boolean
nullable: true
MonitorType:
description: |-
0 = None
1 = Ping
2 = HTTP
3 = Monitor
nullable: true
oneOf:
- $ref: '#/components/schemas/DnsMonitoringType'
GeolocationLatitude:
type: number
format: double
nullable: true
GeolocationLongitude:
type: number
format: double
nullable: true
LatencyZone:
type: string
nullable: true
SmartRoutingType:
description: |-
0 = None
1 = Latency
2 = Geolocation
nullable: true
oneOf:
- $ref: '#/components/schemas/DnsSmartRoutingType'
Disabled:
type: boolean
nullable: true
EnviromentalVariables:
type: array
nullable: true
items:
$ref: '#/components/schemas/DnsRecordEnviromentalVariableModel'
Comment:
type: string
nullable: true
AutoSslIssuance:
type: boolean
nullable: true
DnsRecordTypes:
type: integer
description: |-
0 = A
1 = AAAA
2 = CNAME
3 = TXT
4 = MX
5 = Redirect
6 = Flatten
7 = Pull Zone
8 = SRV
9 = CAA
10 = PTR
11 = Script
12 = NS
13 = SVCB
14 = HTTPS
15 = TLSA
x-enumNames:
- A
- AAAA
- CNAME
- TXT
- MX
- Redirect
- Flatten
- PullZone
- SRV
- CAA
- PTR
- Script
- NS
- SVCB
- HTTPS
- TLSA
enum:
- 0
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
DnsMonitoringType:
type: integer
description: |-
0 = None
1 = Ping
2 = HTTP
3 = Monitor
x-enumNames:
- None
- Ping
- Http
- Monitor
enum:
- 0
- 1
- 2
- 3
DnsSmartRoutingType:
type: integer
description: |-
0 = None
1 = Latency
2 = Geolocation
x-enumNames:
- None
- Latency
- Geolocation
enum:
- 0
- 1
- 2
DnsRecordEnviromentalVariableModel:
type: object
additionalProperties: false
properties:
Name:
type: string
nullable: true
Value:
type: string
nullable: true
securitySchemes:
AccessKey:
type: apiKey
description: API Access Key authorization header
name: AccessKey
in: header
````
This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.