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