Openprovider ZoneService API

The ZoneService API from Openprovider — 2 operation(s) for zoneservice.

OpenAPI Specification

openprovider-zoneservice-api-openapi.yml Raw ↑
swagger: '2.0'
info:
  title: REST AdditionalData ZoneService API
  version: 1.0.0-beta
host: api.openprovider.eu
schemes:
- https
consumes:
- application/json
produces:
- application/json
security:
- Bearer: []
tags:
- name: ZoneService
  x-displayName: Zone
paths:
  /v1beta/dns/zones:
    get:
      tags:
      - ZoneService
      summary: List zones
      externalDocs:
        description: For more detailed information on this method check our guide
        url: https://support.openprovider.eu/hc/en-us/articles/360024168694
      operationId: ListZones
      parameters:
      - type: integer
        format: int32
        default: 100
        description: 'Limits the number of objects in the output. (default value: 100, maximum value: 500).'
        name: limit
        in: query
      - type: integer
        format: int32
        description: 'Used to retrieve all objects from a certain offset up to the. (default value: 0).'
        name: offset
        in: query
      - type: string
        default: desc
        description: Sorting type (asc/desc).
        name: order_by.creation_date
        in: query
      - type: string
        description: Sorting type (asc/desc).
        name: order_by.modification_date
        in: query
      - type: string
        description: Sorting type (asc/desc).
        name: order_by.name
        in: query
      - type: string
        description: DNS zone type (master or slave).
        name: type
        in: query
      - type: string
        description: DNS zone name pattern. Wildcard (*) can be used.
        name: name_pattern
        in: query
      - type: boolean
        format: boolean
        description: Indicates, whether DNS records should be displayed in output.
        name: with_records
        in: query
      - type: boolean
        format: boolean
        description: Indicates, whether DNS zone history should be displayed in output.
        name: with_history
        in: query
      - type: boolean
        format: boolean
        description: Indicates, whether DNSSEC keys should be displayed in output.
        name: with_dnskey
        in: query
      - type: string
        description: Name of the DNS provider. Set provider=sectigo in case of only sectigo premium DNS zone should be retrieved.
        name: provider
        in: query
      responses:
        '200':
          description: A successful response.
          schema:
            $ref: '#/definitions/zoneListZonesResponse'
        default:
          description: (empty)
          schema:
            $ref: '#/definitions/errorError'
    post:
      tags:
      - ZoneService
      summary: Create zone
      externalDocs:
        description: For more detailed information on this method check our guide
        url: https://support.openprovider.eu/hc/en-us/articles/360023491794
      operationId: CreateZone
      parameters:
      - name: body
        in: body
        required: true
        schema:
          $ref: '#/definitions/zoneCreateZoneRequest'
      responses:
        '200':
          description: A successful response.
          schema:
            $ref: '#/definitions/zoneZoneBoolResponse'
        default:
          description: (empty)
          schema:
            $ref: '#/definitions/errorError'
  /v1beta/dns/zones/{name}:
    get:
      tags:
      - ZoneService
      summary: Get zone
      externalDocs:
        description: For more detailed information on this method check our guide
        url: https://support.openprovider.eu/hc/en-us/articles/360024168694
      operationId: GetZone
      parameters:
      - type: string
        description: Name of the domain to which DNS zone corresponds
        name: name
        in: path
        required: true
      - type: string
        description: DNS zone ID.
        name: id
        in: query
      - type: boolean
        format: boolean
        default: false
        description: Indicates, whether DNS records should be displayed in output.
        name: with_records
        in: query
      - type: boolean
        format: boolean
        default: false
        description: Indicates, whether DNS zone history should be displayed in output.
        name: with_history
        in: query
      - type: boolean
        format: boolean
        description: Indicates, whether DNSSEC keys should be displayed in output.
        name: with_dnskey
        in: query
      - type: string
        description: Name of the DNS provider. Set provider=sectigo in case of only sectigo premium DNS zone should be retrieved.
        name: provider
        in: query
      responses:
        '200':
          description: A successful response.
          schema:
            $ref: '#/definitions/zoneGetZoneResponse'
        default:
          description: (empty)
          schema:
            $ref: '#/definitions/errorError'
    put:
      tags:
      - ZoneService
      summary: Update zone
      externalDocs:
        description: For more detailed information on this method check our guide
        url: https://support.openprovider.eu/hc/en-us/articles/360024342733
      operationId: UpdateZone
      parameters:
      - type: string
        description: Name of the domain to which DNS zone corresponds
        name: name
        in: path
        required: true
      - name: body
        in: body
        required: true
        schema:
          $ref: '#/definitions/zoneUpdateZoneRequest'
      responses:
        '200':
          description: A successful response.
          schema:
            $ref: '#/definitions/zoneZoneBoolResponse'
        default:
          description: (empty)
          schema:
            $ref: '#/definitions/errorError'
    delete:
      tags:
      - ZoneService
      summary: Delete zone
      externalDocs:
        description: For more detailed information on this method check our guide
        url: https://support.openprovider.eu/hc/en-us/articles/360024231654
      operationId: DeleteZone
      parameters:
      - type: string
        description: Name of the domain to which DNS zone corresponds
        name: name
        in: path
        required: true
      - type: integer
        format: int32
        description: DNS zone ID.
        name: id
        in: query
      - type: string
        description: Domain name without extension.
        name: domain.name
        in: query
      - type: string
        description: Domain extension.
        name: domain.extension
        in: query
      - type: string
        description: Name of the DNS provider. Set provider=sectigo in case of sectigo premium DNS zone should be deleted.
        name: provider
        in: query
      responses:
        '200':
          description: A successful response.
          schema:
            $ref: '#/definitions/zoneZoneBoolResponse'
        default:
          description: (empty)
          schema:
            $ref: '#/definitions/errorError'
definitions:
  zoneUpdateZoneRequest:
    type: object
    title: UpdateZoneRequest
    properties:
      domain:
        title: Name of the domain to which DNS zone corresponds. Represented by array of domain name and extension
        $ref: '#/definitions/zoneDomain'
      id:
        type: integer
        format: int32
        title: DNS zone ID
      is_spamexperts_enabled:
        type: boolean
        format: boolean
        title: Used to enable spam filtering for this DNS zone
      master_ip:
        type: string
        title: IP of the master nameserver for this DNS zone. Required if DNS zone type = slave
      name:
        type: string
        title: Name of the domain to which DNS zone corresponds
      premium_dns:
        title: Additional data related to premium DNS zone
        $ref: '#/definitions/zonePremiumDnsData'
      provider:
        type: string
        title: Name of the DNS provider. Set provider=sectigo in case of sectigo premium DNS zone should be updated
      records:
        title: DNS zone records grouped by action
        $ref: '#/definitions/zoneRecordUpdates'
      type:
        type: string
        title: Type of DNS zone (master or slave)
    example:
      domain:
        extension: com
        name: domain
      id: 1234567
      is_spamexperts_enabled: true
      master_ip: 127.0.0.1
      name: domain.com
      premium_dns:
        sectigo:
          autorenew: false
          order_date: '2021-08-05 7:37:28'
          renewal_date: '2022-11-28 6:57:05'
          secured: false
          website_id: 123456
      provider: sectigo
      records:
        add:
        - name: domain.com
          prio: 1
          ttl: 900
          type: CNAME
          value: abcd.domain.com
        remove:
        - name: domain.com
          prio: 1
          ttl: 900
          type: CNAME
          value: abcd.domain.com
        replace:
        - name: domain.com
          prio: 1
          ttl: 900
          type: CNAME
          value: abcd.domain.com
        update:
        - original_record:
            name: domain.com
            prio: 1
            ttl: 900
            type: CNAME
            value: abcd.domain.com
          record:
            name: domain.com
            prio: 1
            ttl: 900
            type: CNAME
            value: abcd.domain.com
      type: slave
  zoneZoneBoolResponse:
    type: object
    title: ZoneBoolResponse
    properties:
      code:
        type: integer
        format: int32
        title: Response code
      data:
        title: Response data
        $ref: '#/definitions/zoneZoneBoolResponseData'
      desc:
        type: string
        title: Response example
      maintenance:
        type: boolean
        format: boolean
        title: Indicates if Openprovider API is on maintenance
      warnings:
        type: array
        title: Array of warning messages
        items:
          $ref: '#/definitions/errorWarning'
    example:
      code: 0
      data:
        success: false
      desc: ''
  zoneCreateZoneRequest:
    type: object
    title: CreateZoneRequest
    properties:
      domain:
        title: Name of the domain to which DNS zone corresponds. Represented by array of domain name and extension
        $ref: '#/definitions/zoneDomain'
      is_spamexperts_enabled:
        type: string
        title: Used to enable spam filtering for this DNS zone
      master_ip:
        type: string
        title: IP of the master nameserver for this DNS zone. Required if DNS zone type = slave
      provider:
        type: string
        title: Name of the DNS provider. Set provider=sectigo in case of sectigo premium DNS zone should be created
      records:
        type: array
        title: Array of DNS records
        items:
          $ref: '#/definitions/zoneRecord'
      secured:
        type: boolean
        format: boolean
        title: Used to enable or disable DNSSEC for this DNS zone
      template_name:
        type: string
        title: Name of the DNS template to use with this DNS zone
      type:
        type: string
        title: DNS zone type (master or slave)
    example:
      domain:
        extension: com
        name: domain
      is_spamexperts_enabled: 'on'
      master_ip: 127.0.0.1
      provider: sectigo
      records:
      - name: domain.com
        prio: 1
        ttl: 900
        type: CNAME
        value: abcd.domain.com
      secured: false
      template_name: default
      type: master
  zoneListZonesResponse:
    type: object
    title: ListZonesResponse
    properties:
      code:
        type: integer
        format: int32
        title: Response code
      data:
        title: Response data
        $ref: '#/definitions/zoneListZonesResponseData'
      desc:
        type: string
        title: Response description
      maintenance:
        type: boolean
        format: boolean
        title: Indicates if Openprovider API is on maintenance
      warnings:
        type: array
        title: Array of warning messages
        items:
          $ref: '#/definitions/errorWarning'
    example:
      code: 0
      data:
        results:
        - active: true
          creation_date: '2012-02-05 7:37:28'
          dnskey: ''
          history:
          - date: '2019-06-19 17:40:09'
            is: true
            source: ''
            was: ''
          id: 12345
          ip: 127.0.0.1
          is_deleted: false
          is_shadow: false
          is_spamexperts_enabled: false
          modification_date: '2018-11-28 6:57:05'
          name: domain.com
          premium_dns:
            sectigo:
              autorenew: false
              order_date: '2021-08-05 7:37:28'
              renewal_date: '2022-11-28 6:57:05'
              secured: false
              website_id: 123456
          provider: sectigo
          records:
          - creation_date: ''
            ip: 127.0.0.1
            modification_date: ''
            name: domain.com
            prio: 1
            ttl: 900
            type: CNAME
            value: abcd.domain.com
          reseller_id: 123456
          type: master
        total: 1888
      desc: ''
  zoneRecordWithOriginal:
    type: object
    title: RecordWithOriginal
    properties:
      original_record:
        title: Array of DNS records to update
        $ref: '#/definitions/zoneRecord'
      record:
        title: Array of DNS records to update
        $ref: '#/definitions/zoneRecord'
    example:
      original_record:
        name: domain.com
        prio: 1
        ttl: 900
        type: CNAME
        value: abcd.domain.com
      record:
        name: domain.com
        prio: 1
        ttl: 900
        type: CNAME
        value: abcd.domain.com
  zoneGetZoneResponse:
    type: object
    title: GetZoneResponse
    properties:
      code:
        type: integer
        format: int32
        title: Response code
      data:
        title: Response data
        $ref: '#/definitions/zoneZone'
      desc:
        type: string
        title: Response description
      maintenance:
        type: boolean
        format: boolean
        title: Indicates if Openprovider API is on maintenance
      warnings:
        type: array
        title: Array of warning messages
        items:
          $ref: '#/definitions/errorWarning'
    example:
      code: 0
      data:
        active: true
        creation_date: '2012-02-05 7:37:28'
        dnskey: ''
        history:
        - date: '2019-06-19 17:40:09'
          is: true
          source: ''
          was: ''
        id: 12345
        ip: 127.0.0.1
        is_deleted: false
        is_shadow: false
        is_spamexperts_enabled: false
        modification_date: '2018-11-28 6:57:05'
        name: domain.com
        premium_dns:
          sectigo:
            autorenew: false
            order_date: '2021-08-05 7:37:28'
            renewal_date: '2022-11-28 6:57:05'
            secured: false
            website_id: 123456
        provider: sectigo
        records:
        - creation_date: ''
          ip: 127.0.0.1
          modification_date: ''
          name: domain.com
          prio: 1
          ttl: 900
          type: CNAME
          value: abcd.domain.com
        reseller_id: 123456
        type: master
      desc: ''
  zoneDomain:
    type: object
    title: Domain
    properties:
      extension:
        type: string
        title: Domain extension
      name:
        type: string
        title: Domain name without extension
    example:
      extension: com
      name: domain
  zoneSectigoData:
    type: object
    title: SectigoData
    properties:
      autorenew:
        type: boolean
        format: boolean
        title: Desired autorenew value
      order_date:
        type: string
        title: Premium DNS order creation date
      renewal_date:
        type: string
        title: Premium DNS order renewal date
      secured:
        type: boolean
        format: boolean
        title: Used to enable or disable DNSSEC for this DNS zone
      website_id:
        type: integer
        format: int32
        title: Premium DNS zone external ID
    example:
      autorenew: false
      order_date: '2021-08-05 7:37:28'
      renewal_date: '2022-11-28 6:57:05'
      secured: false
      website_id: 123456
  zoneListZonesResponseData:
    type: object
    title: ListZonesResponseData
    properties:
      results:
        type: array
        title: Array of search results
        items:
          $ref: '#/definitions/zoneZone'
      total:
        type: integer
        format: int32
        title: Number of search results
    example:
      results:
      - active: true
        creation_date: '2012-02-05 7:37:28'
        dnskey: ''
        history:
        - date: '2019-06-19 17:40:09'
          is: true
          source: ''
          was: ''
        id: 12345
        ip: 127.0.0.1
        is_deleted: false
        is_shadow: false
        is_spamexperts_enabled: false
        modification_date: '2018-11-28 6:57:05'
        name: domain.com
        premium_dns:
          sectigo:
            autorenew: false
            order_date: '2021-08-05 7:37:28'
            renewal_date: '2022-11-28 6:57:05'
            secured: false
            website_id: 123456
        provider: sectigo
        records:
        - creation_date: ''
          ip: 127.0.0.1
          modification_date: ''
          name: domain.com
          prio: 1
          ttl: 900
          type: CNAME
          value: abcd.domain.com
        reseller_id: 123456
        type: master
      total: 1888
  zonePremiumDnsData:
    type: object
    title: PremiumDnsData
    properties:
      sectigo:
        title: Additional data related to premium DNS zone managed by Sectigo
        $ref: '#/definitions/zoneSectigoData'
    example:
      sectigo:
        autorenew: false
        order_date: '2021-08-05 7:37:28'
        renewal_date: '2022-11-28 6:57:05'
        secured: false
        website_id: 123456
  recordRecordInfo:
    type: object
    title: RecordInfo
    properties:
      creation_date:
        type: string
        title: DNS record creation date
      ip:
        type: string
        title: DNS record IP address
      modification_date:
        type: string
        title: DNS record last modification date
      name:
        type: string
        title: DNS record name
      prio:
        type: integer
        format: int32
        title: DNS record priority
      ttl:
        type: integer
        format: int32
        title: DNS record priority
      type:
        type: string
        title: DNS record type
      value:
        type: string
        title: DNS record value
    example:
      creation_date: ''
      ip: 127.0.0.1
      modification_date: ''
      name: domain.com
      prio: 1
      ttl: 900
      type: CNAME
      value: abcd.domain.com
  zoneRecordUpdates:
    type: object
    title: RecordUpdates
    properties:
      add:
        type: array
        title: Array of DNS records to add
        items:
          $ref: '#/definitions/zoneRecord'
      remove:
        type: array
        title: Array of DNS records to remove
        items:
          $ref: '#/definitions/zoneRecord'
      replace:
        type: array
        title: Array of DNS records to replace
        items:
          $ref: '#/definitions/zoneRecord'
      update:
        type: array
        title: Array of DNS records to update
        items:
          $ref: '#/definitions/zoneRecordWithOriginal'
    example:
      add:
      - name: domain.com
        prio: 1
        ttl: 900
        type: CNAME
        value: abcd.domain.com
      remove:
      - name: domain.com
        prio: 1
        ttl: 900
        type: CNAME
        value: abcd.domain.com
      replace:
      - name: domain.com
        prio: 1
        ttl: 900
        type: CNAME
        value: abcd.domain.com
      update:
      - original_record:
          name: domain.com
          prio: 1
          ttl: 900
          type: CNAME
          value: abcd.domain.com
        record:
          name: domain.com
          prio: 1
          ttl: 900
          type: CNAME
          value: abcd.domain.com
  historyZoneHistory:
    type: object
    title: ZoneHistory
    properties:
      date:
        type: string
        title: Date of operation
      is:
        type: string
        title: New value
      source:
        type: string
        title: The source
      was:
        type: string
        title: Old value
    example:
      date: '2019-06-19 17:40:09'
      is: + A |  | 8.8.8.8
      source: ''
      was: ''
  errorError:
    type: object
    title: Error
    properties:
      code:
        type: integer
        format: int32
        title: Error code
      data:
        type: string
        title: Additional error description
      desc:
        type: string
        title: Error description
    example:
      code: 0
      data: ''
      desc: ''
  errorWarning:
    type: object
    title: Warning
    properties:
      code:
        type: integer
        format: int32
        title: Warning code
      data:
        type: string
        title: Additional warning description
      desc:
        type: string
        title: Warning description
    example:
      code: 0
      data: ''
      desc: ''
  zoneRecord:
    type: object
    title: Record
    properties:
      name:
        type: string
        title: DNS record name
      prio:
        type: integer
        format: int32
        title: DNS record priority
      ttl:
        type: integer
        format: int32
        title: DNS record priority
      type:
        type: string
        title: DNS record type
      value:
        type: string
        title: DNS record value
    example:
      name: domain.com
      prio: 1
      ttl: 900
      type: CNAME
      value: abcd.domain.com
  zoneZone:
    type: object
    title: Zone
    properties:
      active:
        type: boolean
        format: boolean
        title: Indicates whether DNS zone is active or inactive (shadow)
      creation_date:
        type: string
        title: DNS zone creation date
      dnskey:
        type: string
        title: DNS zone's DNSSEC signing key
      history:
        type: array
        title: DNS zone updates history
        items:
          $ref: '#/definitions/historyZoneHistory'
      id:
        type: integer
        format: int32
        title: DNS zone ID
      ip:
        type: string
        title: DNS record IP address
      is_deleted:
        type: boolean
        format: boolean
        title: Indicates whether DNS zone is deleted
      is_shadow:
        type: boolean
        format: boolean
        title: Indicates whether DNS zone is active or inactive (shadow)
      is_spamexperts_enabled:
        type: boolean
        format: boolean
        title: Indicates whether spamfiltering is enabled for the DNS zone
      modification_date:
        type: string
        title: Date the DNS zone was last modified
      name:
        type: string
        title: Name of the domain to which DNS zone corresponds
      premium_dns:
        title: Additional data related to premium DNS zone
        $ref: '#/definitions/zonePremiumDnsData'
      provider:
        type: string
        title: Name of the DNS provider
      records:
        type: array
        title: Array of DNS records
        items:
          $ref: '#/definitions/recordRecordInfo'
      reseller_id:
        type: integer
        format: int32
        title: Your reseller ID
      type:
        type: string
        title: The type
    example:
      active: true
      creation_date: '2012-02-05 7:37:28'
      dnskey: ''
      history:
      - date: '2019-06-19 17:40:09'
        is: true
        source: ''
        was: ''
      id: 12345
      ip: 127.0.0.1
      is_deleted: false
      is_shadow: false
      is_spamexperts_enabled: false
      modification_date: '2018-11-28 6:57:05'
      name: domain.com
      premium_dns:
        sectigo:
          autorenew: false
          order_date: '2021-08-05 7:37:28'
          renewal_date: '2022-11-28 6:57:05'
          secured: false
          website_id: 123456
      provider: sectigo
      records:
      - creation_date: ''
        ip: 127.0.0.1
        modification_date: ''
        name: domain.com
        prio: 1
        ttl: 900
        type: CNAME
        value: abcd.domain.com
      reseller_id: 123456
      type: master
  zoneZoneBoolResponseData:
    type: object
    title: ZoneBoolResponseData
    properties:
      success:
        type: boolean
        format: boolean
        title: Indicates if request was successful
    example:
      success: false
securityDefinitions:
  Bearer:
    type: apiKey
    name: Authorization
    in: header
    x-linkTo: tag/descAuthentication
x-tagGroups:
- name: Introduction
  tags:
  - descAbout
  - descGettingStarted
  - descEndpoints
  - descAuthentication
- name: Quick Start
  tags:
  - descCustomerQuickstart
  - descDomainQuickstart
  - descTLDQuickstart
  - descDNSQuickstart
  - descSSLQuickstart
- name: Auth
  tags:
  - Auth
  - SpamExpert
- name: Billing
  tags:
  - InvoiceService
  - Payment
  - Transaction
- name: DNS
  tags:
  - DomainToken
  - NameserverService
  - NsGroupService
  - TemplateService
  - ZoneService
  - ZoneRecordService
- name: Domain
  tags:
  - DomainService
  - AdditionalData
  - CustomerAdditionalData
  - DomainPriceService
  - AuthCode
  - TldService
- name: EasyDmarc
  tags:
  - EasydmarcOrder
- name: Email template
  tags:
  - Email
- name: License
  tags:
  - LicenseService
- name: Reseller/Customer
  tags:
  - ContactService
  - Customer
  - EmailVerification
  - ResellerService
  - Settings
  - Statistics
  - TagService
- name: Spam Experts
  tags:
  - SEDomain
- name: SSL
  tags:
  - ApproverEmail
  - Csr
  - Order
  - OrderApproverEmail
  - OtpToken
  - Product