> ## 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.
# Update DNS Zones
## OpenAPI
````yaml https://core-api-public-docs.b-cdn.net/docs/v3/public.json post /dnszone/{id}
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/{id}:
post:
tags:
- DNS Zone
summary: Update DNS Zones
operationId: DnsZonePublic_Update
parameters:
- name: id
in: path
required: true
description: The ID of the DNS Zone that will be updated
schema:
type: integer
format: int64
x-position: 1
requestBody:
x-name: model
description: The configuration that should be applied to the DNS zone
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateDnsZoneModel'
required: true
x-position: 2
responses:
'200':
description: The DNS Zone with the requested ID
content:
application/json:
schema:
$ref: '#/components/schemas/DnsZoneModel'
'401':
description: The request authorization failed
'404':
description: The DNS Zone with the requested ID does not exist.
'500':
description: Internal Server Error
components:
schemas:
UpdateDnsZoneModel:
type: object
additionalProperties: false
properties:
CustomNameserversEnabled:
type: boolean
nullable: true
Nameserver1:
type: string
nullable: true
Nameserver2:
type: string
nullable: true
SoaEmail:
type: string
nullable: true
LoggingEnabled:
type: boolean
nullable: true
LogAnonymizationType:
description: |-
Gets the log anonymization type for this zone
0 = One Digit
1 = Drop
nullable: true
oneOf:
- $ref: '#/components/schemas/LogAnonymizationType'
CertificateKeyType:
description: >-
Sets the certificate private key type for wildcard certificates for
this zone
0 = ECDSA
1 = RSA
nullable: true
oneOf:
- $ref: '#/components/schemas/PrivateKeyType'
LoggingIPAnonymizationEnabled:
type: boolean
description: Determines if the log anonoymization should be enabled
nullable: true
DnsZoneModel:
type: object
additionalProperties: false
properties:
Id:
type: integer
format: int64
Domain:
type: string
nullable: true
Records:
type: array
nullable: true
items:
$ref: '#/components/schemas/DnsRecordModel'
DateModified:
type: string
format: date-time
DateCreated:
type: string
format: date-time
NameserversDetected:
type: boolean
CustomNameserversEnabled:
type: boolean
Nameserver1:
type: string
nullable: true
Nameserver2:
type: string
nullable: true
SoaEmail:
type: string
nullable: true
NameserversNextCheck:
type: string
format: date-time
LoggingEnabled:
type: boolean
LoggingIPAnonymizationEnabled:
type: boolean
description: Determines if the TLS 1 is enabled on the DNS Zone
LogAnonymizationType:
description: |-
Sets the log anonymization type for this zone
0 = One Digit
1 = Drop
nullable: true
oneOf:
- $ref: '#/components/schemas/LogAnonymizationType'
DnsSecEnabled:
type: boolean
description: Determines if DNSSEC is enabled for this DNS Zone
CertificateKeyType:
description: |-
The private key type to use for automatic certificates
0 = ECDSA
1 = RSA
oneOf:
- $ref: '#/components/schemas/PrivateKeyType'
LogAnonymizationType:
type: integer
description: |-
0 = One Digit
1 = Drop
x-enumNames:
- OneDigit
- Drop
enum:
- 0
- 1
PrivateKeyType:
type: integer
description: |-
0 = ECDSA
1 = RSA
x-enumNames:
- Ecdsa
- Rsa
enum:
- 0
- 1
DnsRecordModel:
type: object
additionalProperties: false
properties:
Id:
type: integer
format: int64
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 |
oneOf:
- $ref: '#/components/schemas/DnsRecordTypes'
Ttl:
type: integer
format: int32
Value:
type: string
nullable: true
Name:
type: string
nullable: true
Weight:
type: integer
format: int32
Priority:
type: integer
format: int32
Port:
type: integer
format: int32
Flags:
type: integer
format: byte
Tag:
type: string
nullable: true
Accelerated:
type: boolean
AcceleratedPullZoneId:
type: integer
format: int64
LinkName:
type: string
nullable: true
IPGeoLocationInfo:
nullable: true
oneOf:
- $ref: '#/components/schemas/GeoDnsLocationModel'
GeolocationInfo:
nullable: true
oneOf:
- $ref: '#/components/schemas/DnsRecordGeoLocationInfo'
MonitorStatus:
description: |-
0 = Unknown
1 = Online
2 = Offline
oneOf:
- $ref: '#/components/schemas/DnsMonitoringStatus'
MonitorType:
description: |-
0 = None
1 = Ping
2 = HTTP
3 = Monitor
oneOf:
- $ref: '#/components/schemas/DnsMonitoringType'
GeolocationLatitude:
type: number
format: double
GeolocationLongitude:
type: number
format: double
EnviromentalVariables:
type: array
nullable: true
items:
$ref: '#/components/schemas/DnsRecordEnviromentalVariableModel'
LatencyZone:
type: string
nullable: true
SmartRoutingType:
description: |-
0 = None
1 = Latency
2 = Geolocation
oneOf:
- $ref: '#/components/schemas/DnsSmartRoutingType'
Disabled:
type: boolean
Comment:
type: string
nullable: true
AutoSslIssuance:
type: boolean
AccelerationStatus:
description: |-
0 = None
1 = Pending
2 = Processing
3 = Completed
4 = Failed
oneOf:
- $ref: '#/components/schemas/AcceleratedStatus'
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
GeoDnsLocationModel:
type: object
additionalProperties: false
properties:
CountryCode:
type: string
description: The ISO country code of the location
nullable: true
Country:
type: string
description: The name of the country of the location
nullable: true
ASN:
type: integer
description: The ASN of the IP organization
format: int64
OrganizationName:
type: string
description: The mame of the organization that owns the IP
nullable: true
City:
type: string
description: The name of the city of the location
nullable: true
DnsRecordGeoLocationInfo:
type: object
additionalProperties: false
properties:
Country:
type: string
nullable: true
City:
type: string
nullable: true
Latitude:
type: number
format: double
Longitude:
type: number
format: double
DnsMonitoringStatus:
type: integer
description: |-
0 = Unknown
1 = Online
2 = Offline
x-enumNames:
- Unknown
- Online
- Offline
enum:
- 0
- 1
- 2
DnsMonitoringType:
type: integer
description: |-
0 = None
1 = Ping
2 = HTTP
3 = Monitor
x-enumNames:
- None
- Ping
- Http
- Monitor
enum:
- 0
- 1
- 2
- 3
DnsRecordEnviromentalVariableModel:
type: object
additionalProperties: false
properties:
Name:
type: string
nullable: true
Value:
type: string
nullable: true
DnsSmartRoutingType:
type: integer
description: |-
0 = None
1 = Latency
2 = Geolocation
x-enumNames:
- None
- Latency
- Geolocation
enum:
- 0
- 1
- 2
AcceleratedStatus:
type: integer
description: |-
0 = None
1 = Pending
2 = Processing
3 = Completed
4 = Failed
x-enumNames:
- None
- Pending
- Processing
- Completed
- Failed
enum:
- 0
- 1
- 2
- 3
- 4
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.