openapi: 3.2.0 info: title: Bunny.net Core Platform DNS Zones API description: 'Best-effort OpenAPI 3.1 description of the Bunny.net Core Platform REST API for managing Pull Zones, Storage Zones, DNS Zones, Stream video libraries, statistics, billing, purge, API keys, and reference data. Authentication uses the `AccessKey` header containing your account API key issued from the Bunny.net dashboard.' version: '1.0' contact: name: Bunny.net url: https://docs.bunny.net/reference/bunnynet-api-overview servers: - url: https://api.bunny.net description: Bunny.net Core Platform API security: - accessKeyAuth: [] tags: - name: DNS Zones paths: /dnszone: get: tags: - DNS Zones summary: List DNS zones operationId: listDnsZones responses: '200': description: DNS zones content: application/json: schema: type: array items: $ref: '#/components/schemas/DnsZone' post: tags: - DNS Zones summary: Add DNS zone operationId: addDnsZone requestBody: required: true content: application/json: schema: type: object required: - Domain properties: Domain: type: string responses: '201': description: DNS zone content: application/json: schema: $ref: '#/components/schemas/DnsZone' /dnszone/{id}: parameters: - $ref: '#/components/parameters/IdPath' get: tags: - DNS Zones summary: Get DNS zone operationId: getDnsZone responses: '200': description: DNS zone content: application/json: schema: $ref: '#/components/schemas/DnsZone' post: tags: - DNS Zones summary: Update DNS zone operationId: updateDnsZone requestBody: required: true content: application/json: schema: type: object additionalProperties: true responses: '204': description: Updated delete: tags: - DNS Zones summary: Delete DNS zone operationId: deleteDnsZone responses: '204': description: Deleted /dnszone/{id}/records: parameters: - $ref: '#/components/parameters/IdPath' post: tags: - DNS Zones summary: Add DNS record operationId: addDnsRecord requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/DnsRecord' responses: '201': description: DNS record content: application/json: schema: $ref: '#/components/schemas/DnsRecord' /dnszone/{id}/records/{recordId}: parameters: - $ref: '#/components/parameters/IdPath' - name: recordId in: path required: true schema: type: integer post: tags: - DNS Zones summary: Update DNS record operationId: updateDnsRecord requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/DnsRecord' responses: '204': description: Updated delete: tags: - DNS Zones summary: Delete DNS record operationId: deleteDnsRecord responses: '204': description: Deleted /dnszone/{id}/enableDNSSEC: parameters: - $ref: '#/components/parameters/IdPath' post: tags: - DNS Zones summary: Enable DNSSEC operationId: enableDnssec responses: '204': description: Enabled /dnszone/{id}/disableDNSSEC: parameters: - $ref: '#/components/parameters/IdPath' post: tags: - DNS Zones summary: Disable DNSSEC operationId: disableDnssec responses: '204': description: Disabled components: parameters: IdPath: name: id in: path required: true schema: type: integer schemas: DnsRecord: type: object properties: Id: type: integer Type: type: integer description: 0=A, 1=AAAA, 2=CNAME, 3=TXT, 4=MX, 5=Redirect, 6=Flatten, 7=PullZone, 8=SRV, 9=CAA, 10=PTR, 11=Script, 12=NS Ttl: type: integer Value: type: string Name: type: string Weight: type: integer Priority: type: integer Port: type: integer Flags: type: integer Tag: type: string Accelerated: type: boolean AcceleratedPullZoneId: type: integer Disabled: type: boolean DnsZone: type: object properties: Id: type: integer Domain: type: string Records: type: array items: $ref: '#/components/schemas/DnsRecord' DateModified: type: string format: date-time DateCreated: type: string format: date-time NameserversDetected: type: boolean CustomNameserversEnabled: type: boolean Nameserver1: type: string Nameserver2: type: string securitySchemes: accessKeyAuth: type: apiKey in: header name: AccessKey description: API key issued from the Bunny.net dashboard.