Openprovider DomainService API

The DomainService API from Openprovider — 11 operation(s) for domainservice.

Operations 14

GET /v1beta/domains List domains #
POST /v1beta/domains Create domain #
POST /v1beta/domains/check Check domain #
POST /v1beta/domains/suggest-name Suggest name domain #
POST /v1beta/domains/trade Trade domain #
POST /v1beta/domains/transfer Transfer domain #
GET /v1beta/domains/{id} Get domain #
PUT /v1beta/domains/{id} Update domain #
DELETE /v1beta/domains/{id} Delete domain #
POST /v1beta/domains/{id}/last-operation/restart Try again last operation #
POST /v1beta/domains/{id}/renew Renew domain #
POST /v1beta/domains/{id}/restore Restore domain #
POST /v1beta/domains/{id}/transfer/approve Approve transfer #
POST /v1beta/domains/{id}/transfer/send-foa1 Send foa1 #

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-domainservice-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-domainservice-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: REST AdditionalData Domain Service API
  version: 1.0.0-beta
servers:
- url: https://api.openprovider.eu
security:
- Bearer: []
tags:
- name: DomainService
  x-displayName: Domain
paths:
  /v1beta/domains:
    get:
      tags:
      - DomainService
      summary: List domains
      operationId: ListDomains
      parameters:
      - description: Domain id number.
        name: order_by.id
        in: query
        schema:
          type: string
      - description: The domain name.
        name: order_by.domain_name
        in: query
        schema:
          type: string
      - description: Domain extension.
        name: order_by.domain_extension
        in: query
        schema:
          type: string
      - description: The order date.
        name: order_by.order_date
        in: query
        schema:
          type: string
      - description: The active date.
        name: order_by.active_date
        in: query
        schema:
          type: string
      - description: Domain expiration date.
        name: order_by.expiration_date
        in: query
        schema:
          type: string
      - description: Date on which domain will be renewed.
        name: order_by.renewal_date
        in: query
        schema:
          type: string
      - description: Domain status.
        name: order_by.status
        in: query
        schema:
          type: string
      - description: The transfer date.
        name: order_by.transfer_date
        in: query
        schema:
          type: string
      - description: The limit.
        name: limit
        in: query
        schema:
          type: integer
          format: int32
      - description: The offset.
        name: offset
        in: query
        schema:
          type: integer
          format: int32
      - description: Domain id number.
        name: id
        in: query
        schema:
          type: integer
          format: int32
      - description: Domain extension.
        name: extension
        in: query
        schema:
          type: string
      - description: Date on which domain will be renewed.
        name: renewal_date
        in: query
        schema:
          type: string
      - description: Full name of the domain.
        name: full_name
        in: query
        schema:
          type: string
      - description: The domain name pattern.
        name: domain_name_pattern
        in: query
        schema:
          type: string
      - description: Nameserver group name pattern.
        name: ns_group_pattern
        in: query
        schema:
          type: string
      - description: Domain status.
        name: status
        in: query
        schema:
          type: string
      - description: Array of domain statuses to exclude.
        name: status_not_equal
        in: query
        style: form
        explode: true
        schema:
          type: array
          items:
            type: string
      - description: The queue status.
        name: queue_status
        in: query
        schema:
          type: string
      - description: Handle to filter by.
        name: contact_handle
        in: query
        schema:
          type: string
      - description: The comment pattern.
        name: comment_pattern
        in: query
        schema:
          type: string
      - description: With history.
        name: with_history
        in: query
        schema:
          type: boolean
          format: boolean
      - description: With api history.
        name: with_api_history
        in: query
        schema:
          type: boolean
          format: boolean
      - description: With additional data.
        name: with_additional_data
        in: query
        schema:
          type: boolean
          format: boolean
      - description: When new gTLD is started it gets through several phases before it becomes available for registration to everybody (General availability or GA). There are several phases before GA when it is still possible to apply for a domain, but with some restrictions.
        name: application_mode
        in: query
        schema:
          type: string
      - description: Returns information about domain owner email verification status.
        name: with_verification_email
        in: query
        schema:
          type: boolean
          format: boolean
      - description: Indicates, if registry EPP statuses should be retrieved.
        name: with_registry_statuses
        in: query
        schema:
          type: boolean
          format: boolean
      - description: The type.
        name: response.type
        in: query
        schema:
          type: string
      - description: The to.
        name: response.to
        in: query
        schema:
          type: string
      - description: Indicates whether object is deleted.
        name: is_deleted
        in: query
        schema:
          type: boolean
          format: boolean
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/domainListDomainsResponse'
        default:
          description: (empty)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorError'
    post:
      tags:
      - DomainService
      summary: Create domain
      operationId: CreateDomain
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/domainCreateDomainResponse'
        default:
          description: (empty)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorError'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/domainCreateDomainRequest'
        required: true
  /v1beta/domains/check:
    post:
      tags:
      - DomainService
      summary: Check domain
      operationId: CheckDomain
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/domainCheckDomainResponse'
        default:
          description: (empty)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorError'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/domainCheckDomainRequest'
        required: true
  /v1beta/domains/suggest-name:
    post:
      tags:
      - DomainService
      summary: Suggest name domain
      operationId: SuggestNameDomain
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/domainSuggestNameDomainResponse'
        default:
          description: (empty)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorError'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/domainSuggestNameDomainRequest'
        required: true
  /v1beta/domains/trade:
    post:
      tags:
      - DomainService
      summary: Trade domain
      operationId: TradeDomain
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/domainTradeDomainResponse'
        default:
          description: (empty)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorError'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/domainTradeDomainRequest'
        required: true
  /v1beta/domains/transfer:
    post:
      tags:
      - DomainService
      summary: Transfer domain
      operationId: TransferDomain
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/domainTransferDomainResponse'
        default:
          description: (empty)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorError'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/domainTransferDomainRequest'
        required: true
  /v1beta/domains/{id}:
    get:
      tags:
      - DomainService
      summary: Get domain
      operationId: GetDomain
      parameters:
      - description: Domain id number
        name: id
        in: path
        required: true
        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: Returns domain mutations history.
        name: with_history
        in: query
        schema:
          type: boolean
          format: boolean
      - description: Returns domain API calls history.
        name: with_api_history
        in: query
        schema:
          type: boolean
          format: boolean
      - description: Returns domain additional data.
        name: with_additional_data
        in: query
        schema:
          type: boolean
          format: boolean
      - description: Returns information about domain owner email verification status.
        name: with_verification_email
        in: query
        schema:
          type: boolean
          format: boolean
      - description: Returns domain abuse details.
        name: with_abuse_details
        in: query
        schema:
          type: boolean
          format: boolean
      - description: Returns WPP data.
        name: with_whois_privacy_data
        in: query
        schema:
          type: boolean
          format: boolean
      - description: Indicates, if registry EPP statuses should be retrieved.
        name: with_registry_statuses
        in: query
        schema:
          type: boolean
          format: boolean
      - description: Indicates whether object is deleted.
        name: is_deleted
        in: query
        schema:
          type: boolean
          format: boolean
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/domainGetDomainResponse'
        default:
          description: (empty)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorError'
    put:
      tags:
      - DomainService
      summary: Update domain
      operationId: UpdateDomain
      parameters:
      - description: Domain id number
        name: id
        in: path
        required: true
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/domainUpdateDomainResponse'
        default:
          description: (empty)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorError'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/domainUpdateDomainRequest'
        required: true
    delete:
      tags:
      - DomainService
      summary: Delete domain
      operationId: DeleteDomain
      parameters:
      - description: Domain id number
        name: id
        in: path
        required: true
        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: Type of deletion request.
        name: type
        in: query
        schema:
          type: string
      - description: Deletes domain, skipping the soft quarantine.
        name: skip_soft_quarantine
        in: query
        schema:
          type: boolean
          format: boolean
      - description: Force delete domain even if it has glue records.
        name: force_delete
        in: query
        schema:
          type: boolean
          format: boolean
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/domainDeleteDomainResponse'
        default:
          description: (empty)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorError'
  /v1beta/domains/{id}/last-operation/restart:
    post:
      tags:
      - DomainService
      summary: Try again last operation
      operationId: TryAgainLastOperation
      parameters:
      - description: Domain id number
        name: id
        in: path
        required: true
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseBoolResponse'
        default:
          description: (empty)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorError'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/domainTryAgainLastOperationRequest'
        required: true
  /v1beta/domains/{id}/renew:
    post:
      tags:
      - DomainService
      summary: Renew domain
      operationId: RenewDomain
      parameters:
      - description: Domain id number
        name: id
        in: path
        required: true
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/domainRenewDomainResponse'
        default:
          description: (empty)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorError'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/domainRenewDomainRequest'
        required: true
  /v1beta/domains/{id}/restore:
    post:
      tags:
      - DomainService
      summary: Restore domain
      operationId: RestoreDomain
      parameters:
      - description: Domain id number
        name: id
        in: path
        required: true
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/domainRestoreDomainResponse'
        default:
          description: (empty)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorError'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/domainRestoreDomainRequest'
        required: true
  /v1beta/domains/{id}/transfer/approve:
    post:
      tags:
      - DomainService
      summary: Approve transfer
      operationId: ApproveTransfer
      parameters:
      - description: Domain id number
        name: id
        in: path
        required: true
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseBoolResponse'
        default:
          description: (empty)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorError'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/domainApproveTransferRequest'
        required: true
  /v1beta/domains/{id}/transfer/send-foa1:
    post:
      tags:
      - DomainService
      summary: Send foa1
      operationId: SendFoa1
      parameters:
      - description: Domain id number
        name: id
        in: path
        required: true
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseBoolResponse'
        default:
          description: (empty)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorError'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/domainSendFoa1Request'
        required: true
components:
  schemas:
    domainPriceGroup:
      type: object
      title: PriceGroup
      properties:
        product:
          title: Amount in product currency
          $ref: '#/components/schemas/domainPrice'
        reseller:
          title: Amount in reseller currency
          $ref: '#/components/schemas/domainPrice'
      example:
        product:
          currency: USD
          price: 8.06
        reseller:
          currency: USD
          price: 8.06
    domainOwner:
      type: object
      title: Owner
      properties:
        company_name:
          type: string
          title: Domain owner company name
        full_name:
          type: string
          title: Domain owner full name
      example:
        company_name: Example company
        full_name: Test Van Person
    domainApiHistory:
      type: object
      title: ApiHistory
      properties:
        cmd:
          type: string
          title: Command name
        created_at:
          type: string
          title: Domain creation date
        domain_id:
          type: integer
          format: int32
          title: The domain id
        in:
          type: string
          title: Request
        out:
          type: string
          title: Response
      example:
        cmd: deleteDomainRequest
        created_at: '2018-09-05 13:58:55'
        domain_id: 12345678
        in: ''
        out: ''
    domainDeleteDomainResponse:
      type: object
      title: DeleteDomainResponse
      properties:
        code:
          type: integer
          format: int32
          title: Response code
        data:
          title: Response data
          $ref: '#/components/schemas/domainDeleteDomainResponseData'
        desc:
          type: string
          title: Response description
        maintenance:
          type: boolean
          format: boolean
          title: Indicates that the Openprovider system is temporarily unavailable because of maintenance
        warnings:
          type: array
          title: Contains warning responses if any
          items:
            $ref: '#/components/schemas/errorWarning'
      example:
        code: 0
        data:
          status: ACT
        desc: ''
    domainNameserver:
      type: object
      title: Nameserver
      properties:
        ip:
          type: string
          title: The ip
        ip6:
          type: string
          title: The ip6
        name:
          type: string
          title: Full name of the nameserver
        seq_nr:
          type: integer
          format: int32
          title: The seq nr
      example:
        ip: 12.3.123.121
        ip6: 1s23:123:123:f
        name: ns1.example.com
        seq_nr: 1
    domainCreateDomainResponse:
      type: object
      title: CreateDomainResponse
      properties:
        code:
          type: integer
          format: int32
          title: Response code
        data:
          title: Response data
          $ref: '#/components/schemas/domainCreateDomainResponseData'
        desc:
          type: string
          title: Response description
        maintenance:
          type: boolean
          format: boolean
          title: Indicates that the Openprovider system is temporarily unavailable because of maintenance
        warnings:
          type: array
          title: Contains warning responses if any
          items:
            $ref: '#/components/schemas/errorWarning'
      example:
        code: 0
        data:
          activation_date: '2019-04-29 17:15:19'
          additional_data:
            abogado_acceptance: ''
            admin_sing_pass_id: ''
            ae_acceptance: '1'
            allocation_token: ''
            auth_code: ''
            bank_acceptance: ''
            company_registration_number: XX123456789X01
            coop_acceptance: '1'
            customer_uin: '374892173498127349'
            customer_uin_doc_type:
              description: Singapore Personal Access ID
              doc_type: singpass
            domain_name_variants:
            - xn--домен.cat
            eligibility_type: ''
            eligibility_type_relationship: ''
            es_annex_acceptance: '1'
            ftld_token: ''
            gay_donation_acceptance: '1'
            gay_rights_protection_acceptance: '1'
            id_number: 123456789X
            id_type: ''
            idn_script: SPA
            insurance_acceptance: ''
            intended_use: generic
            law_acceptance: ''
            legal_type: Individual
            maintainer: ''
            membership_id: A
            mobile_phone_number_verification: ''
            ngo_ong_eligibility_acceptance: ''
            ngo_ong_policy_acceptance: ''
            passport_number: X123456
            rurf_blocked_domains: ''
            self_service: '1'
            trademark: '1'
            trademark_id: ''
            travel_acceptance: '1'
            vat: 11843009X
            verification_code: ''
            vote_acceptance: ''
            voto_acceptance: ''
          auth_code: '12345678'
          expiration_date: '2020-04-29 17:15:19'
          id: 123456789
          renewal_date: '2020-04-29 17:15:19'
          status: ACT
        desc: ''
    domainUpdateAdditionalData:
      type: object
      title: UpdateAdditionalData
      properties:
        abogado_acceptance:
          type: string
          title: 'The abogado acceptance value should be set to 1

            Applicable to: .abogado'
        admin_sing_pass_id:
          type: string
          title: 'If the admin contact is a natural person located in Singapore, the corresponding Singapore Personal Access ID has to be given. The format of the SingPassID is: X1234567X   - where X is an upper case letter at the beginning and end of a seven digit string In case of a foreign organization, it is possible to use the SGNICID: SGNICID-X12-345678   - the SGNICID will look like this example

            Applicable to: .com.sg, .sg'
        auth_code:
          type: string
          title: 'The auth code

            Applicable to: .nz'
        company_registration_number:
          type: string
          title: 'For companies located in Singapore, the corresponding company registration number has to be given. For Singapore citizens and permanent residents, please provide NRIC or Passport No. For Singapore companies, please provide RCBID as it appears in RCB Certificate. For Singapore societies, please provide RCBID as it appears in ROS Certificate.

            Applicable to: .com.sg, .no, .ro, .sg'
        customer_uin:
          type: string
          title: 'Identification number of domain owner document that proves his identity (e.g. passport number, number of driving license or else in case if domain owner is a private person; chamber of commerce registration number, taxpayer number or else in case of legal entity)

            Applicable for all TLDs which require documents to complete operation with domain (e.g. .bg, .cn etc.)'
        customer_uin_doc_type:
          title: 'Type of the domain owner document used to prove his identity (e.g. passport, driving license or else in case if domain owner is a private person; chamber of commerce extract, business certificate or else in case of legal entity)

            Applicable for all TLDs which require documents to complete operation with domain (e.g. .bg, .cn etc.)'
          $ref: '#/components/schemas/domainUINDocumentType'
        domain_name_variants:
          type: array
          title: 'The domain name variants should be an array of strings, representing appropriate names

            Applicable to: .cat'
          items:
            type: string
        intended_use:
          type: string
          title: 'The intended use value should contain information on how the domain name will be used

            Applicable to: .cat'
        law_acceptance:
          type: string
          title: 'The law acceptance value should be set to 1

            Applicable to: .law'
        legal_type:
          type: string
          title: 'The legal type

            Applicable to: .ca'
        maintainer:
          type: string
          title: 'The maintainer value should be a string, specifying maintainer information. Maximum length 128 characters.

            Applicable to: .cat'
        membership_id:
          type: string
          title: 'The membership id value cannot be empty

            Applicable to: .lotto, .xxx'
        mobile_phone_number_verification:
          type: string
          title: 'The mobile phone''s verification via sms

            Applicable to: .ru, .su, .xn--p1ai'
        ngo_ong_eligibility_acceptance:
          type: string
          title: 'The ngo, ong eligibility acceptance value should be set to 1

            Applicable to: .ngo, .ong'
        ngo_ong_policy_acceptance:
          type: string
          title: 'The ngo, ong policy acceptance value should be set to 1

            Applicable to: .ngo, .ong'
        passport_number:
          type: string
          title: 'The passport number. Required in case if domain requester is a private individual

            Applicable to: .co.hu, .hu'
        vat:
          type: string
          title: 'The vat number. Required in case if domain requester is a legal entity

            Applicable to: .co.hu, .hu'
        verification_code:
          type: string
          title: 'The verification code value cannot be empty

            Applicable to: .lotto'
      example:
        abogado_acceptance: ''
        admin_sing_pass_id: ''
        auth_code: ''
        company_registration_number: XX123456789X02
        customer_uin: '374892173498127349'
        customer_uin_doc_type:
          description: Singapore Personal Access ID
          doc_type: singpass
        domain_name_variants:
        - xn--домен.cat
        intended_use: generic
        law_acceptance: ''
        legal_type: Individual
        maintainer: ''
        membership_id: A
        mobile_phone_number_verification: ''
        ngo_ong_eligibility_acceptance: ''
        ngo_ong_policy_acceptance: ''
        passport_number: X123457
        vat: 11843009X
        verification_code: ''
    domainSuggestNameDomainResponse:
      type: object
      title: SuggestNameDomainResponse
      properties:
        code:
          type: integer
          format: int32
          title: Response code
        data:
          title: Response data
          $ref: '#/components/schemas/domainSuggestNameDomainResponseData'
        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:
          - domain: yourexampledomain
            name: yourexampledomain.com
            tld: com
        desc: ''
    domainCreateDomainRequest:
      type: object
      title: CreateDomainRequest
      properties:
        accept_eap_fee:
          type: number
          format: double
          title: Required for certain pre-pregistrations
        accept_premium_fee:
          type: number
          format: double
          title: Premium price fee acceptance
        additional_data:
          title: Additional domain data
          $ref: '#/components/schemas/domainAdditionalData'
        admin_handle:
          type: string
          title: Administrative contact handle
        application_mode:
          description: When new gTLD is started it gets through several phases before it becomes available for registration to everybody (General availability or GA). There are several phases before GA when it is still possible to apply for a domain, but with some restrictions.
          type: string
        application_notice_id:
          type: string
          title: The application notice id
        application_smd:
          type: string
          title: The application smd
        auth_code:
          type: string
          title: Authorization code
        autorenew:
          type: string
          title: 'Desired autorenew value: off, on, or default'
        billing_handle:
          type: string
          title: Billing contact handle
        comments:
          type: string
          title: Domain comments
        dnssec_keys:
          type: array
          title: Array containing DNSSEC key information
          items:
            $ref: '#/components/schemas/domainDnssecKey'
        domain:
          title: Domain name and extension
          $ref: '#/components/schemas/domainDomain'
        is_dnssec_enabled:
          type: boolean
          format: boolean
          title: Enables or disables DNSSEC on domain
        is_easy_dmarc_enabled:
          type: boolean
          format: boolean
          title: Enables or disables easy dmarc protection for this domain
          default: false
        is_private_whois_enabled:
          type: boolean
          format: boolean
          title: Enables or disables whois privacy protection (WPP) on domain
        is_sectigo_dns_enabled:
          type: boolean
          format: boolean
          title: Enables or disables premium Sectigo DNS on domain
        is_spamexperts_enabled:
          type: boolean
          format: boolean
          title: Enable Spam Experts spam protetion for domain
        name_servers:
          type: array
          title: Array containing name server information
          items:
            $ref: '#/components/schemas/domainNameserver'
        ns_group:
          type: string
          title: Name of nameserver group
        ns_template_id:
          type: integer
          format: int32
          title: Id of nameserver template
        ns_template_name:
          type: string
          title: Name of nameserver template
        owner_handle:
          type: string
          title: Owner contact handle
        period:
          type: integer
          format: int32
          title: Domain registration period in years unless otherwise specified
        promo_code:
          type: string
          title: Promo code to apply to operation
        provider:
          type: string
          title: Indicates what provider should be chosen for domain operation
        reseller_handle:
          type: string
          title: Reseller handle
        tech_handle:
          type: string
          title: Tech contact handle
        unit:
          type: string
          title: Unit of time to register domain, yearly, quarterly, or

# --- truncated at 32 KB (127 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/openprovider/refs/heads/main/openapi/openprovider-domainservice-api-openapi.yml