Openprovider ZoneService API

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

Operations 5

GET /v1beta/dns/zones List zones #
POST /v1beta/dns/zones Create zone #
GET /v1beta/dns/zones/{name} Get zone #
PUT /v1beta/dns/zones/{name} Update zone #
DELETE /v1beta/dns/zones/{name} Delete zone #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/openprovider-zoneservice-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

openprovider-zoneservice-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: REST AdditionalData Zone Service API
  version: 1.0.0-beta
servers:
- url: https://api.openprovider.eu
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:
      - description: 'Limits the number of objects in the output. (default value: 100, maximum value: 500).'
        name: limit
        in: query
        schema:
          type: integer
          format: int32
          default: 100
      - description: 'Used to retrieve all objects from a certain offset up to the. (default value: 0).'
        name: offset
        in: query
        schema:
          type: integer
          format: int32
      - description: Sorting type (asc/desc).
        name: order_by.creation_date
        in: query
        schema:
          type: string
          default: desc
      - description: Sorting type (asc/desc).
        name: order_by.modification_date
        in: query
        schema:
          type: string
      - description: Sorting type (asc/desc).
        name: order_by.name
        in: query
        schema:
          type: string
      - description: DNS zone type (master or slave).
        name: type
        in: query
        schema:
          type: string
      - description: DNS zone name pattern. Wildcard (*) can be used.
        name: name_pattern
        in: query
        schema:
          type: string
      - description: Indicates, whether DNS records should be displayed in output.
        name: with_records
        in: query
        schema:
          type: boolean
          format: boolean
      - description: Indicates, whether DNS zone history should be displayed in output.
        name: with_history
        in: query
        schema:
          type: boolean
          format: boolean
      - description: Indicates, whether DNSSEC keys should be displayed in output.
        name: with_dnskey
        in: query
        schema:
          type: boolean
          format: boolean
      - description: Name of the DNS provider. Set provider=sectigo in case of only sectigo premium DNS zone should be retrieved.
        name: provider
        in: query
        schema:
          type: string
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/zoneListZonesResponse'
        default:
          description: (empty)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/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
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/zoneZoneBoolResponse'
        default:
          description: (empty)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorError'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/zoneCreateZoneRequest'
        required: true
  /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:
      - description: Name of the domain to which DNS zone corresponds
        name: name
        in: path
        required: true
        schema:
          type: string
      - description: DNS zone ID.
        name: id
        in: query
        schema:
          type: string
      - description: Indicates, whether DNS records should be displayed in output.
        name: with_records
        in: query
        schema:
          type: boolean
          format: boolean
          default: false
      - description: Indicates, whether DNS zone history should be displayed in output.
        name: with_history
        in: query
        schema:
          type: boolean
          format: boolean
          default: false
      - description: Indicates, whether DNSSEC keys should be displayed in output.
        name: with_dnskey
        in: query
        schema:
          type: boolean
          format: boolean
      - description: Name of the DNS provider. Set provider=sectigo in case of only sectigo premium DNS zone should be retrieved.
        name: provider
        in: query
        schema:
          type: string
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/zoneGetZoneResponse'
        default:
          description: (empty)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/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:
      - description: Name of the domain to which DNS zone corresponds
        name: name
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/zoneZoneBoolResponse'
        default:
          description: (empty)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorError'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/zoneUpdateZoneRequest'
        required: true
    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:
      - description: Name of the domain to which DNS zone corresponds
        name: name
        in: path
        required: true
        schema:
          type: string
      - description: DNS zone ID.
        name: id
        in: query
        schema:
          type: integer
          format: int32
      - description: Domain name without extension.
        name: domain.name
        in: query
        schema:
          type: string
      - description: Domain extension.
        name: domain.extension
        in: query
        schema:
          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
        schema:
          type: string
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/zoneZoneBoolResponse'
        default:
          description: (empty)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorError'
components:
  schemas:
    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
    zoneZoneBoolResponseData:
      type: object
      title: ZoneBoolResponseData
      properties:
        success:
          type: boolean
          format: boolean
          title: Indicates if request was successful
      example:
        success: false
    zoneGetZoneResponse:
      type: object
      title: GetZoneResponse
      properties:
        code:
          type: integer
          format: int32
          title: Response code
        data:
          title: Response data
          $ref: '#/components/schemas/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: '#/components/schemas/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: ''
    zoneRecordWithOriginal:
      type: object
      title: RecordWithOriginal
      properties:
        original_record:
          title: Array of DNS records to update
          $ref: '#/components/schemas/zoneRecord'
        record:
          title: Array of DNS records to update
          $ref: '#/components/schemas/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
    zoneZoneBoolResponse:
      type: object
      title: ZoneBoolResponse
      properties:
        code:
          type: integer
          format: int32
          title: Response code
        data:
          title: Response data
          $ref: '#/components/schemas/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: '#/components/schemas/errorWarning'
      example:
        code: 0
        data:
          success: false
        desc: ''
    zonePremiumDnsData:
      type: object
      title: PremiumDnsData
      properties:
        sectigo:
          title: Additional data related to premium DNS zone managed by Sectigo
          $ref: '#/components/schemas/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
    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: ''
    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
    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
    zoneRecordUpdates:
      type: object
      title: RecordUpdates
      properties:
        add:
          type: array
          title: Array of DNS records to add
          items:
            $ref: '#/components/schemas/zoneRecord'
        remove:
          type: array
          title: Array of DNS records to remove
          items:
            $ref: '#/components/schemas/zoneRecord'
        replace:
          type: array
          title: Array of DNS records to replace
          items:
            $ref: '#/components/schemas/zoneRecord'
        update:
          type: array
          title: Array of DNS records to update
          items:
            $ref: '#/components/schemas/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
    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: '#/components/schemas/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: '#/components/schemas/zonePremiumDnsData'
        provider:
          type: string
          title: Name of the DNS provider
        records:
          type: array
          title: Array of DNS records
          items:
            $ref: '#/components/schemas/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
    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: '#/components/schemas/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: '#/components/schemas/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: '#/components/schemas/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
    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
    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: '#/components/schemas/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: '#/components/schemas/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
    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: ''
    zoneListZonesResponse:
      type: object
      title: ListZonesResponse
      properties:
        code:
          type: integer
          format: int32
          title: Response code
        data:
          title: Response data
          $ref: '#/components/schemas/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: '#/components/schemas/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: ''
    zoneListZonesResponseData:
      type: object
      title: ListZonesResponseData
      properties:
        results:
          type: array
          title: Array of search results
          items:
            $ref: '#/components/schemas/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
    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: ''
  securitySchemes:
    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