> ## 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.
# List DNS Zone Records
## OpenAPI
````yaml https://core-api-public-docs.b-cdn.net/docs/v3/public.json get /dnszone/{zoneId}/records
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/{zoneId}/records:
get:
tags:
- DNS Zone
summary: List DNS Zone Records
operationId: DnsZonePublic_ListDnsZoneRecords
parameters:
- name: zoneId
in: path
required: true
description: The ID of the DNS Zone
schema:
type: integer
format: int64
x-position: 1
- name: page
in: query
schema:
type: integer
format: int32
default: 1
maximum: 2147483647
minimum: 1
x-position: 2
- name: perPage
in: query
schema:
type: integer
format: int32
default: 1000
maximum: 1000
minimum: 5
x-position: 3
- name: type
in: query
description: |-
The type of DNS Record
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 |
schema:
oneOf:
- nullable: true
oneOf:
- $ref: '#/components/schemas/DnsRecordTypes2'
x-position: 4
- name: search
in: query
schema:
type: string
nullable: true
x-position: 5
responses:
'200':
description: A paginated list of DNS records for the specified zone
content:
application/json:
schema:
$ref: '#/components/schemas/PaginationListModelOfDnsRecordModel'
'400':
description: Failed to fetch dns records for the dns zone
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorData'
'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:
DnsRecordTypes2:
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
PaginationListModelOfDnsRecordModel:
type: object
additionalProperties: false
properties:
Items:
type: array
nullable: true
items:
$ref: '#/components/schemas/DnsRecordModel'
CurrentPage:
type: integer
format: int32
TotalItems:
type: integer
format: int32
HasMoreItems:
type: boolean
ApiErrorData:
type: object
additionalProperties: false
properties:
ErrorKey:
type: string
nullable: true
Field:
type: string
nullable: true
Message:
type: string
nullable: true
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.