> ## Documentation Index
> Fetch the complete documentation index at: https://bunnynet-cb9733c2-support-migration.mintlify.site/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: >-
    <img src='https://bunny.net/v2/images/bunnynet-logo-dark.svg' style='width:
    200px;' alt='bunny.net Logo'>
                   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 <a href='https://bunnycdnstorage.docs.apiary.io/#'>storage API documentation</a>
                   <h2>Third party API clients:</h2> 
                   <br/>
                   We currently do not maintain an official API library, but you can use one of the third party ones provided here:<br/><br/>
                   <a rel='nofollow' href='https://github.com/codewithmark/bunnycdn'>https://github.com/codewithmark/bunnycdn</a> (bunny.net PHP library, thanks to <a rel="nofollow" href='https://codewithmark.com'>Code With Mark</a>)
                   <br/><br/>
                   <i style='font-size: 11px;'><b>Note that third party clients are not maintained or developed by bunny.net so we unfortunately cannot offer support for them.</b></i>
  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: 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 successfuly 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:
          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:
          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:
          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 = PullZone
        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

````