openapi: 3.0.3
info:
  version: 3.1.13
  title: Domainname.systems API
  description: |-
    WIP

    Response Codes
    | Code | Description |
    | --- | --- |
    | 1000 | Command completed successfully |
    | 1300 | Command completed successfully; no messages |
    | 2001 | Command syntax error |
    | 2002 | Command use error |
    | 2003 | Required parameter missing |
    | 2004 | Parameter value range error |
    | 2104 | Billing failure |
    | 2105 | Object is not eligible for renewal |
    | 2106 | Object is not eligible for transfer |
    | 2200 | Authentication error |
    | 2201 | Authorization error |
    | 2303 | Object does not exist |
    | 2304 | Object status prohibits operation |
    | 2309 | Object duplicate found | 
    | 2400 | Command failed |
    | 2500 | Command failed; server closing connection |
paths:
  '/authenticate/login/{API-key}':
    get:
      deprecated: true
      operationId: loginApiKey
      tags:
        - Authenticate
      parameters:
        - name: API-key
          in: path
          description: API-key for your account
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/authenticate-login'
      security: []
      description: Session-token will expire after 2 hours and can be reused for all requests within this time frame.
      summary: Login
  /authenticate/login/:
    post:
      operationId: loginPost
      tags:
        - Authenticate
      requestBody:
        required: true
        content:
          application/multipart/form-data:
            schema:
              type: object
              properties:
                api-key:
                  type: string
              required:
                - api-key
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/authenticate-login'
      security: []
      description: Session-token will expire after 2 hours and can be reused for all requests within this time frame.
      summary: Login
    get:
      operationId: login
      tags:
        - Authenticate
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/authenticate-login'
      security:
        - API-key: []
      description: |-
        Preferred login method.<br>
        Session-token will expire after 2 hours and can be reused for all requests within this time frame.
      summary: Login
  /account/getaccountdetails/:
    get:
      summary: Get Account Details
      tags:
        - Account
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/default'
      operationId: getaccountdetails
      description: ''
      parameters:
        - schema:
            type: integer
          in: query
          name: accid
          description: Account under your whitelabel
  /account/getloginhistory/:
    get:
      summary: Get Login History
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/default'
      operationId: getloginhistory
      parameters:
        - schema:
            type: integer
          in: query
          name: accid
          description: Account under your whitelabel
      tags:
        - Account
      description: ''
    parameters: []
  '/domain/searchdomain/{Session-Token}/':
    post:
      operationId: searchdomain
      tags:
        - Domain
      parameters:
        - $ref: '#/components/parameters/session-token'
      requestBody:
        required: true
        content:
          application/multipart/form-data:
            schema:
              type: object
              properties:
                domainname:
                  type: array
                  items:
                    type: string
              required:
                - domainname
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/searchdomain'
      summary: Search Domain
  '/domain/domainlist/{Session-Token}/':
    get:
      operationId: domainlist
      tags:
        - Domain
      parameters:
        - $ref: '#/components/parameters/session-token'
        - name: domainname
          in: query
          schema:
            type: string
        - name: labels
          in: query
          schema:
            type: array
            items:
              type: integer
        - name: contact
          in: query
          schema:
            type: integer
        - name: status
          in: query
          schema:
            type: integer
        - name: expirestart
          in: query
          schema:
            type: string
        - name: expireend
          in: query
          schema:
            type: string
        - name: direction
          in: query
          schema:
            type: string
            enum:
              - asc
              - desc
        - name: orderby
          in: query
          schema:
            type: string
        - name: print
          in: query
          schema:
            type: boolean
        - name: exact
          in: query
          schema:
            type: boolean
        - name: include
          in: query
          schema:
            type: array
            items:
              type: string
              enum:
                - subaccounts
                - nameservers
                - archive
        - $ref: '#/components/parameters/start'
        - $ref: '#/components/parameters/limit'
        - schema:
            type: array
          in: query
          name: subaccounts
          description: List of accounts to include<br>Only available with include = subaccounts
      responses:
        '200':
          $ref: '#/components/responses/domainlist'
      summary: Domain List
  '/domain/domaindetails/{Session-Token}/':
    get:
      operationId: domaindetails
      tags:
        - Domain
      parameters:
        - $ref: '#/components/parameters/session-token'
        - name: itemid
          in: query
          required: true
          schema:
            type: integer
      responses:
        '200':
          $ref: '#/components/responses/domainlist'
      summary: Domain Details
  '/domain/editdomain/{Session-Token}/':
    post:
      operationId: editdomain
      tags:
        - Domain
      parameters:
        - $ref: '#/components/parameters/session-token'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/default'
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              type: object
              properties:
                domainname:
                  type: array
                  items:
                    type: string
                setautorenew:
                  type: integer
                setshieldwhois:
                  type: integer
                addlabel:
                  type: array
                  items:
                    type: integer
                removelabel:
                  type: array
                  items:
                    type: integer
                transferlock:
                  type: integer
                  description: This is alias to domainlock
                domainlock:
                  type: integer
              required:
                - domainname
      summary: Edit Domain
  '/domain/create_domain_registration/{Session-Token}/':
    post:
      operationId: create_domain_registration
      tags:
        - Domain
      parameters:
        - $ref: '#/components/parameters/session-token'
      requestBody:
        required: true
        content:
          application/multipart/form-data:
            schema:
              type: object
              properties:
                domainname:
                  type: string
                itemyear:
                  type: integer
                ownerid:
                  type: integer
                adminid:
                  type: integer
                  deprecated: true
                techid:
                  type: integer
                  deprecated: true
                autorenew:
                  type: boolean
                  default: true
                shieldwhois:
                  type: boolean
                  deprecated: true
                trustee:
                  type: boolean
                tmchacceptance:
                  type: boolean
                  description: tmchacceptance is only required if the domain name has a claim. If there is no claim this parameter is ignored.
                nameserver:
                  type: array
                  description: |-
                    To set glue nameservers, send nameserver + ipv4 + ipv6
                    ex. example.com 1.2.3.4 or example.com 1.2.3.4 1::1
                  items:
                    type: string
                    description: 'Append IP for setting glue-records, works for both ipv4 and ipv6, to include both ipv4 and ipv6 append both ip to the host.'
                    example: 'ns1.example.com 10.0.0.1, ns1.example.com 10.0.0.1 ::1'
                dnstemplate:
                  type: integer
                labels:
                  type: array
                  items:
                    type: integer
                custom_field:
                  type: string
              required:
                - domainname
                - itemyear
                - ownerid
                - tmchacceptance
      responses:
        '200':
          $ref: '#/components/responses/request'
      summary: Create Domain Registration
  '/domain/update_domain_renew/{Session-Token}/':
    post:
      operationId: update_domain_renew
      tags:
        - Domain
      parameters:
        - $ref: '#/components/parameters/session-token'
      requestBody:
        required: true
        content:
          application/multipart/form-data:
            schema:
              type: object
              properties:
                domainname:
                  type: string
                itemyear:
                  type: integer
                autorenew:
                  type: boolean
              required:
                - domainname
                - itemyear
      responses:
        '200':
          $ref: '#/components/responses/request'
      summary: Update Domain Renew
  '/domain/update_domain_dns/{Session-Token}/':
    post:
      operationId: update_domain_dns
      tags:
        - Domain
      parameters:
        - $ref: '#/components/parameters/session-token'
      requestBody:
        required: true
        content:
          application/multipart/form-data:
            schema:
              type: object
              properties:
                domainname:
                  type: string
                nameserver:
                  type: array
                  description: |-
                    To set glue nameservers, send nameserver + ipv4 + ipv6
                    ex. example.com 1.2.3.4 or example.com 1.2.3.4 1::1
                  items:
                    type: string
                    description: 'Append IP for setting glue-records, works for both ipv4 and ipv6, to include both ipv4 and ipv6 append both ip to the host.'
                    example: 'ns1.example.com 10.0.0.1, ns1.example.com 10.0.0.1 ::1'
              required:
                - domainname
                - nameserver
      responses:
        '200':
          $ref: '#/components/responses/request'
      summary: Update Domain DNS
  '/domain/create_domain_transfer/{Session-Token}/':
    post:
      operationId: create_domain_transfer
      tags:
        - Domain
      parameters:
        - $ref: '#/components/parameters/session-token'
      requestBody:
        required: true
        content:
          application/multipart/form-data:
            schema:
              type: object
              properties:
                domainname:
                  type: string
                auth:
                  type: string
              required:
                - domainname
      responses:
        '200':
          $ref: '#/components/responses/request'
      summary: Create Domain Transfer
  '/domain/update_domain_registrant/{Session-Token}/':
    post:
      operationId: update_domain_registrant
      tags:
        - Domain
      parameters:
        - $ref: '#/components/parameters/session-token'
      requestBody:
        required: true
        content:
          application/multipart/form-data:
            schema:
              type: object
              properties:
                domainname:
                  type: string
                ownerid:
                  type: integer
              required:
                - domainname
                - ownerid
      responses:
        '200':
          $ref: '#/components/responses/request'
      summary: Update Domain Registrant
  '/domain/update_domain_restore/{Session-Token}/':
    post:
      operationId: update_domain_restore
      tags:
        - Domain
      parameters:
        - $ref: '#/components/parameters/session-token'
      requestBody:
        required: true
        content:
          application/multipart/form-data:
            schema:
              type: object
              properties:
                domainname:
                  type: string
                autorenew:
                  type: boolean
              required:
                - domainname
      responses:
        '200':
          $ref: '#/components/responses/request'
      summary: Update Domain Restore
  '/domain/genauthcode/{Session-Token}/':
    post:
      operationId: genauthcode
      tags:
        - Domain
      parameters:
        - $ref: '#/components/parameters/session-token'
      requestBody:
        required: true
        content:
          application/multipart/form-data:
            schema:
              type: object
              properties:
                domainname:
                  type: string
              required:
                - domainname
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/default'
      summary: Generate Auth Code
  '/contact/contactlist/{Session-Token}/':
    get:
      operationId: contactlist
      tags:
        - Contact
      parameters:
        - $ref: '#/components/parameters/session-token'
        - name: firstname
          in: query
          schema:
            type: string
        - name: lastname
          in: query
          schema:
            type: string
        - name: organization
          in: query
          schema:
            type: string
        - name: orgnr
          in: query
          schema:
            type: string
        - name: address1
          in: query
          schema:
            type: string
        - name: zipcode
          in: query
          schema:
            type: string
        - name: city
          in: query
          schema:
            type: string
        - name: countrycode
          in: query
          schema:
            type: string
        - name: phone
          in: query
          schema:
            type: string
        - name: fax
          deprecated: true
          description: 'fax is being used less and less, still valid but will be removed in future.'
          in: query
          schema:
            type: string
        - name: email
          in: query
          schema:
            type: string
        - name: searchstring
          in: query
          schema:
            type: string
          description: 'Searchstring is a free text search parameter, use this parameter to search every field. If this parameter is used all other parameters are ignored.'
        - $ref: '#/components/parameters/start'
        - $ref: '#/components/parameters/limit'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/default'
      summary: Contact List
  '/contact/createcontact/{Session-Token}/':
    post:
      operationId: createcontact
      tags:
        - Contact
      parameters:
        - $ref: '#/components/parameters/session-token'
      requestBody:
        required: true
        content:
          application/multipart/form-data:
            schema:
              type: object
              properties:
                firstname:
                  type: string
                lastname:
                  type: string
                organization:
                  type: string
                orgnr:
                  type: string
                address1:
                  type: string
                zipcode:
                  type: string
                city:
                  type: string
                countrycode:
                  type: string
                phone:
                  type: string
                  description: +cc.nnnnnnnnn
                fax:
                  type: string
                  description: +cc.nnnnnnnnn
                  deprecated: true
                email:
                  type: string
              required:
                - firstname
                - lastname
                - orgnr
                - address1
                - zipcode
                - city
                - countrycode
                - phone
                - email
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/default'
      summary: Create Contact
  '/contact/updatecontact/{Session-Token}/':
    post:
      operationId: updatecontact
      tags:
        - Contact
      parameters:
        - $ref: '#/components/parameters/session-token'
      requestBody:
        required: true
        content:
          application/multipart/form-data:
            schema:
              type: object
              properties:
                contactid:
                  type: integer
                firstname:
                  type: string
                  description: Private persons can't update firstname
                lastname:
                  type: string
                  description: Private persons can't update lastname
                organization:
                  type: string
                  description: Organizations can't update organization
                address1:
                  type: string
                zipcode:
                  type: string
                city:
                  type: string
                countrycode:
                  type: string
                phone:
                  type: string
                  description: +cc.nnnnnnnnn
                fax:
                  type: string
                  description: +cc.nnnnnnnnn
                  deprecated: true
                email:
                  type: string
              required:
                - contactid
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/default'
      summary: Update Contact
  '/request/requestlist/{Session-Token}/':
    get:
      operationId: requestlist
      tags:
        - Request
      parameters:
        - $ref: '#/components/parameters/session-token'
        - name: domainname
          in: query
          schema:
            type: string
        - name: reqtype
          in: query
          schema:
            type: string
        - $ref: '#/components/parameters/start'
        - $ref: '#/components/parameters/limit'
        - schema:
            type: array
            enum:
              - subaccounts
          in: query
          name: include
        - schema:
            type: string
          in: query
          name: createdstart
          description: Used to get all requests since date or in conjunction with createdend to get a interval
        - schema:
            type: string
          in: query
          name: createdend
          description: Used to get all requests until date or in conjunction with createdstart to get a interval
        - schema:
            type: integer
          in: query
          name: status
        - schema:
            type: integer
          in: query
          name: requestid
        - schema:
            type: string
          in: query
          name: ordernr
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/default'
      summary: Request List
  '/request/requestdetails/{Session-Token}/':
    get:
      operationId: requestdetails
      tags:
        - Request
      parameters:
        - $ref: '#/components/parameters/session-token'
        - name: reqid
          required: true
          in: query
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/default'
      summary: Request Details
  '/request/requestupdate/{Session-Token}/':
    post:
      operationId: requestupdate
      tags:
        - Request
      description: Only request statuses with updatable flag are updateable.
      parameters:
        - $ref: '#/components/parameters/session-token'
      requestBody:
        required: true
        content:
          application/multipart/form-data:
            schema:
              type: object
              properties:
                reqid:
                  type: integer
                parameter:
                  type: string
                  description: 'Only parameters listed under “error” in RequestDetails response are updateable. The parameter name is used as parameter, multiple parameters can be sent in.'
              required:
                - contactid
                - parameter
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/default'
      summary: Request Update
  '/request/requestcancellation/{Session-Token}/':
    get:
      operationId: requestcancellation
      tags:
        - Request
      description: Only request statuses with cancelable flag are cancelable.
      parameters:
        - $ref: '#/components/parameters/session-token'
        - name: reqid
          required: true
          in: query
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/default'
      summary: Request Cancellation
  /request/moderation/:
    post:
      summary: Request Moderation
      tags:
        - Request
      responses:
        '200':
          description: OK
      operationId: post-request-moderation
      description: 'Approve or reject request that is in action required (pending approval), only moderators for account can use this end-point.'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                reqid:
                  type: integer
                approve:
                  type: integer
                  enum:
                    - 1
                    - 0
                  description: |-
                    1 = approve request<br>
                    0 = reject request, this will cancel the request
              required:
                - reqid
                - approve
  '/economy/pricelist/{Session-Token}/':
    get:
      operationId: pricelist
      tags:
        - Economy
      description: 'Using print will ignore limit and start parameters, <b>WARNING</b> using print = 1 will result in a large JSON object, it’s recommended to use print = 1 together with skiprules = 1 to limit the JSON size.'
      parameters:
        - $ref: '#/components/parameters/session-token'
        - name: print
          in: query
          schema:
            type: boolean
        - name: skiprules
          in: query
          schema:
            type: boolean
        - name: tldname
          in: query
          schema:
            type: string
        - name: pricetypes
          in: query
          schema:
            type: integer
        - $ref: '#/components/parameters/start'
        - $ref: '#/components/parameters/limit'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/default'
      summary: Price List
  '/economy/transactionlist/{Session-Token}/':
    get:
      operationId: transactionlist
      tags:
        - Economy
      parameters:
        - $ref: '#/components/parameters/session-token'
        - name: transactionstart
          in: query
          schema:
            type: string
        - name: transactionend
          in: query
          schema:
            type: string
        - name: print
          in: query
          schema:
            type: integer
        - $ref: '#/components/parameters/start'
        - $ref: '#/components/parameters/limit'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/default'
      summary: Transaction List
  '/economy/invoicelist/{Session-Token}/':
    get:
      operationId: invoicelist
      tags:
        - Economy
      parameters:
        - $ref: '#/components/parameters/session-token'
        - name: invoicestart
          in: query
          schema:
            type: string
        - name: invoiceend
          in: query
          schema:
            type: string
        - name: searchstring
          in: query
          schema:
            type: string
        - name: status
          in: query
          schema:
            type: string
        - name: type
          in: query
          schema:
            type: string
        - name: print
          in: query
          schema:
            type: integer
        - name: zero
          in: query
          schema:
            type: integer
        - $ref: '#/components/parameters/start'
        - $ref: '#/components/parameters/limit'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/default'
      summary: Invoice List
  '/economy/invoicedetails/{Session-Token}/':
    get:
      operationId: invoicedetails
      tags:
        - Economy
      parameters:
        - $ref: '#/components/parameters/session-token'
        - name: invnumber
          in: query
          schema:
            type: string
        - name: print
          in: query
          schema:
            type: boolean
        - name: summary
          in: query
          schema:
            type: boolean
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/default'
      summary: Invoice Details
  '/dns/getrecords/{Session-Token}/':
    get:
      operationId: getrecords
      tags:
        - DNS zone
      parameters:
        - $ref: '#/components/parameters/session-token'
        - name: domainname
          required: true
          in: query
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/default'
      summary: Get Records
  '/dns/addrecord/{Session-Token}/':
    post:
      operationId: addrecord
      tags:
        - DNS zone
      parameters:
        - $ref: '#/components/parameters/session-token'
      requestBody:
        required: true
        content:
          application/multipart/form-data:
            schema:
              type: object
              properties:
                domainname:
                  type: string
                name:
                  type: string
                type:
                  type: string
                  description: 'Using type = redirect will create a redirect<br>Forward url is to be entered in content ex. http://www.example.com<br><br>Using type = mailforward will create a mailforward<br>Valid values for name is full qualified email address for the domainname<br>Forward email is to be entered in content ex. example@example.com'
                content:
                  type: string
                ttl:
                  type: integer
                prio:
                  type: integer
                redirecttype:
                  type: string
                  enum:
                    - '301'
                    - '302'
              required:
                - domainname
                - name
                - type
                - content
                - ttl
            examples:
              SRV:
                value:
                  domainname: example.com
                  name: _xmpp._tcp.example.com
                  type: srv
                  content: 10 5 5223 server.example.com
                  ttl: 86400
              REDIRECT:
                value:
                  domainname: example.com
                  name: example.com
                  type: redirect
                  content: 'https://www.example.com'
                  redirecttype: '301'
              MAILFORWARD:
                value:
                  domainname: example.com
                  name: example@example.com
                  type: mailforward
                  content: inbox@example.com
        description: ''
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/default'
              examples:
                SRV:
                  value:
                    code: 1000
                    desc: Command completed successfully
                    runtime: 0.0709
      summary: Add Records
  '/dns/updaterecord/{Session-Token}/':
    post:
      operationId: updaterecord
      tags:
        - DNS zone
      parameters:
        - $ref: '#/components/parameters/session-token'
      requestBody:
        required: true
        content:
          application/multipart/form-data:
            schema:
              type: object
              properties:
                recordid:
                  type: integer
                domainname:
                  type: string
                name:
                  type: string
                content:
                  type: string
                ttl:
                  type: integer
                prio:
                  type: integer
                redirecttype:
                  type: string
                  enum:
                    - '301'
                    - '302'
              required:
                - recordid
                - domainname
                - name
                - content
                - ttl
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/default'
      summary: Update Record
  /dns/updatesoa/:
    post:
      operationId: updatesoa
      tags:
        - DNS zone
      parameters:
        - $ref: '#/components/parameters/session-token'
      requestBody:
        required: true
        content:
          application/multipart/form-data:
            schema:
              type: object
              properties:
                domainname:
                  type: string
                email:
                  type: string
                primaryns:
                  type: string
                refresh:
                  type: integer
                retry:
                  type: integer
                expire:
                  type: integer
                defaultttl:
                  type: integer
              required:
                - domainname
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/default'
      summary: Update SOA
    parameters: []
  '/dns/deleterecord/{Session-Token}/':
    post:
      operationId: deleterecord
      tags:
        - DNS zone
      parameters:
        - $ref: '#/components/parameters/session-token'
      requestBody:
        required: true
        content:
          application/multipart/form-data:
            schema:
              type: object
              properties:
                recordid:
                  type: integer
                domainname:
                  type: string
              required:
                - recordid
                - domainname
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/default'
      summary: Delete Record
  '/dns/checkdnszone/{Session-Token}/':
    post:
      operationId: checkdnszone
      description: This will check if nameserver resolves the domainname.
      tags:
        - DNS zone
      parameters:
        - $ref: '#/components/parameters/session-token'
      requestBody:
        required: true
        content:
          application/multipart/form-data:
            schema:
              type: object
              properties:
                domainname:
                  type: string
                nameserver:
                  type: string
              required:
                - domainname
                - nameserver
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/default'
      summary: Check DNS Zone
  '/dns/getds/{Session-Token}/':
    get:
      operationId: getds
      tags:
        - DNS zone
      description: Get DS data from nameserver
      parameters:
        - $ref: '#/components/parameters/session-token'
        - name: domainname
          required: true
          in: query
          schema:
            type: string
        - name: nameserver
          in: query
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/default'
      summary: Get DS
  '/dns/publishdnssec/{Session-Token}/':
    post:
      operationId: publishdnssec
      tags:
        - DNS zone
      parameters:
        - $ref: '#/components/parameters/session-token'
      requestBody:
        required: true
        content:
          application/multipart/form-data:
            schema:
              type: object
              properties:
                domainname:
                  type: string
                dnskey:
                  type: string
                flags:
                  type: integer
                  enum:
                    - 256
                    - 257
                alg:
                  type: integer
                  enum:
                    - 5
                    - 7
                    - 8
                    - 10
                    - 12
                    - 13
                    - 14
              required:
                - domainname
                - dnskey
                - flags
                - alg
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/default'
      summary: Publish DNSSEC
  '/dns/unpublishdnssec/{Session-Token}/':
    post:
      operationId: unpublishdnssec
      tags:
        - DNS zone
      parameters:
        - $ref: '#/components/parameters/session-token'
      requestBody:
        required: true
        content:
          application/multipart/form-data:
            schema:
              type: object
              properties:
                domainname:
                  type: string
                dnskey:
                  type: string
                flags:
                  type: string
                alg:
                  type: string
              required:
                - domainname
        description: |-
          dnskey, flags and alg is all needed to remove one key.
          <br>If omitted all keys will get unpublished.
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/default'
      summary: Unpublish DNSSEC
  '/dns/signdnszone/{Session-Token}/':
    post:
      operationId: signdnszone
      tags:
        - DNS zone
      description: This will start signing the dns zone and will automaticly publish the dns keys to root zone.
      parameters:
        - $ref: '#/components/parameters/session-token'
      requestBody:
        required: true
        content:
          application/multipart/form-data:
            schema:
              type: object
              properties:
                domainname:
                  type: string
              required:
                - domainname
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/default'
      summary: Sign DNS Zone
  '/dns/bulkedit/{Session-Token}/':
    post:
      operationId: bulkedit
      tags:
        - DNS zone
      description: |-
        This end-point allows to bulk edit a dns zone.
        <br>One or more of add or update or delete must be included
      parameters:
        - $ref: '#/components/parameters/session-token'
      requestBody:
        required: true
        content:
          application/multipart/form-data:
            schema:
              type: object
              properties:
                domainname:
                  type: string
                add:
                  type: array
                  items:
                    type: object
                    properties:
                      domainname:
                        type: string
                      name:
                        type: string
                      type:
                        type: string
                        description: 'Using type = redirect will create a redirect<br>Forward url is to be entered in content ex. http://www.example.com<br><br>Using type = mailforward will create a mailforward<br>Valid values for name is full qualified email address for the domainname<br>Forward email is to be entered in content ex. example@example.com'
                      content:
                        type: string
                      ttl:
                        type: integer
                      prio:
                        type: integer
                      redirecttype:
                        type: string
                        enum:
                          - '301'
                          - '302'
                    required:
                      - domainname
                      - name
                      - type
                      - content
                      - ttl
                  description: 'list of records, every record uses same paramaters as addrecord'
                update:
                  type: array
                  items:
                    type: object
                    properties:
                      recordid:
                        type: integer
                      domainname:
                        type: string
                      name:
                        type: string
                      content:
                        type: string
                      ttl:
                        type: integer
                      prio:
                        type: integer
                      redirecttype:
                        type: string
                        enum:
                          - '301'
                          - '302'
                    required:
                      - recordid
                      - domainname
                      - name
                      - content
                      - ttl
                  description: 'list of records, every record uses same paramaters as updaterecord'
                delete:
                  type: array
                  items:
                    type: object
                    properties:
                      recordid:
                        type: integer
                      domainname:
                        type: string
                    required:
                      - recordid
                      - domainname
                  description: 'list of records, every record uses same paramaters as deleterecord'
              required:
                - domainname
                - add
                - update
                - delete
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/default'
      summary: Bulk Edit
  '/miscellaneous/getlabels/{Session-Token}/':
    get:
      operationId: getlabels
      tags:
        - Miscellaneous
      parameters:
        - $ref: '#/components/parameters/session-token'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/default'
      summary: Get Labels
  '/miscellaneous/createlabel/{Session-Token}/':
    post:
      operationId: createlabel
      tags:
        - Miscellaneous
      parameters:
        - $ref: '#/components/parameters/session-token'
      requestBody:
        required: true
        content:
          application/multipart/form-data:
            schema:
              type: object
              properties:
                label:
                  type: string
                starred:
                  type: boolean
              required:
                - label
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/default'
      summary: Create Label
  '/miscellaneous/deletelabel/{Session-Token}/':
    post:
      operationId: deletelabel
      tags:
        - Miscellaneous
      parameters:
        - $ref: '#/components/parameters/session-token'
      requestBody:
        required: true
        content:
          application/multipart/form-data:
            schema:
              type: object
              properties:
                labelid:
                  type: integer
              required:
                - labelid
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/default'
      summary: Delete Label
  '/miscellaneous/updatelabel/{Session-Token}/':
    post:
      operationId: updatelabel
      tags:
        - Miscellaneous
      parameters:
        - $ref: '#/components/parameters/session-token'
      requestBody:
        required: true
        content:
          application/multipart/form-data:
            schema:
              type: object
              properties:
                labelid:
                  type: integer
                parameter:
                  type: string
                  enum:
                    - name
                    - starred
                    - backgroundcolor
                value:
                  type: string
              required:
                - labelid
                - parameter
                - value
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/default'
      summary: Update Label
  /account/create/:
    post:
      summary: Create Account
      operationId: Create
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              type: object
              properties:
                firstname:
                  type: string
                lastname:
                  type: string
                orgnr:
                  type: string
                vatnr:
                  type: string
                organization:
                  type: string
                address1:
                  type: string
                address2:
                  type: string
                zipcode:
                  type: string
                city:
                  type: string
                countrycode:
                  type: string
                phone:
                  type: string
                email:
                  type: string
                username:
                  type: string
                  default: email
                  description: If omitted defaults to email
                password:
                  type: string
                autorenew:
                  type: integer
                newsletter:
                  type: integer
                includevat:
                  type: integer
                expandcheckoutview:
                  type: integer
                lang:
                  type: string
                  enum:
                    - sv
                    - en
                  default: sv
                showlabels:
                  type: integer
                2step:
                  type: integer
                  description: To enforce 2 step authentication for all users
                  enum:
                    - 0
                    - 1
                whitelabel:
                  type: integer
              required:
                - firstname
                - lastname
                - orgnr
                - address1
                - zipcode
                - city
                - countrycode
                - phone
                - email
                - password
      description: Create account under your whitelabel
      parameters: []
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/default'
      tags:
        - Whitelabel
  /account/adduser/:
    post:
      summary: Add User
      operationId: Adduser
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/default'
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              type: object
              properties:
                email:
                  type: string
                password:
                  type: string
                username:
                  type: string
                  default: email
                  description: If omitted defaults to email
                type:
                  type: string
                  enum:
                    - admin
                    - user
                  default: user
                firstname:
                  type: string
                lastname:
                  type: string
                phone:
                  type: string
                accid:
                  type: integer
                  description: AccID is used to add user into account which you are parent of.
              required:
                - email
                - password
      description: Add user to your account or child account.
      parameters: []
      security:
        - Session-Token: []
      tags:
        - Account
  /account/setaccountsettings/:
    parameters: []
    post:
      summary: Set Account Settings
      operationId: post-account-setaccountsettings
      responses:
        '200':
          description: OK
      description: Set account settings
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                autorenew:
                  type: integer
                  enum:
                    - 1
                    - 0
                newsletter:
                  type: integer
                  enum:
                    - 1
                    - 0
                includevat:
                  type: integer
                  enum:
                    - 1
                    - 0
                expandcheckoutview:
                  type: integer
                  enum:
                    - 1
                    - 0
                showlabels:
                  type: integer
                  enum:
                    - 1
                    - 0
                2step:
                  type: integer
                  enum:
                    - 1
                    - 0
                moderation:
                  type: integer
                  enum:
                    - 1
                    - 0
                  description: Enables request moderation for account
                invattachment:
                  type: integer
                  enum:
                    - 1
                    - 0
                  description: Include PDF invoice attachment on email
                accid:
                  type: integer
                  description: 'Account under your whitelabel, defaults to current signed on account'
                nameserver:
                  type: array
                  items:
                    type: string
                telemarketing:
                  type: integer
                  enum:
                    - 1
                    - 0
            examples: {}
      tags:
        - Account
  /account/moderators/:
    get:
      summary: Account Moderator
      tags:
        - Account
      responses:
        '200':
          description: OK
      operationId: get-account-moderators
      description: List moderators for accid
      parameters:
        - schema:
            type: integer
          in: query
          name: accid
          description: defaults to current signed on account
    post:
      summary: Account Moderator
      tags:
        - Account
      responses:
        '200':
          description: OK
      operationId: post-account-moderators
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                usrid:
                  type: integer
                action:
                  type: string
                  enum:
                    - add
                    - delete
                  default: add
                accid:
                  type: integer
                  description: defaults to current signed on account
              required:
                - usrid
      description: Add or delete moderator for accid
  /user/permissions/:
    get:
      summary: Permissions
      tags:
        - User
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/userpermissions'
              examples:
                example-1:
                  value:
                    code: 1000
                    desc: Command completed successfully
                    permissions:
                      - accID: 0
                        usrID: 0
                        permissions:
                          - account_create
                          - account_create_user
                          - account_getaccountdetails
                          - account_getaccounteconomy
                          - account_getaccountstats
                          - account_getloginhistory
                          - account_getstatistics
                          - account_setaccountsettings
                          - account_setpassword
                          - contact_contactdetails
                          - contact_contactlist
                          - contact_createcontact
                          - contact_deletecontact
                          - contact_updatecontact
                          - dns_addmailforward
                          - dns_addrecord
                          - dns_addredirect
                          - dns_create_dns_registration
                          - dns_deleterecord
                          - dns_getrecords
                          - dns_publishdnssec
                          - dns_signdnszone
                          - dns_unpublishdnssec
                          - dns_updaterecord
                          - dns_updatesoa
                          - dns_update_dns_product
                          - dns_update_dns_renew
                          - dns_zonelist
                          - domain_checkdomainstatus
                          - domain_create_domain_registration
                          - domain_create_domain_transfer
                          - domain_domaindetails
                          - domain_domainlist
                          - domain_editdomain
                          - domain_genauthcode
                          - domain_portfoliosearch
                          - domain_updatedomain
                          - domain_update_domain_contact
                          - domain_update_domain_dns
                          - domain_update_domain_registrant
                          - domain_update_domain_renew
                          - domain_update_domain_restore
                          - economy_deposit
                          - economy_invoicedetails
                          - economy_invoicelist
                          - economy_pricelist
                          - economy_receiptslist
                          - economy_transactionlist
                          - request_requestcancellation
                          - request_requestdetails
                          - request_requestlist
                          - request_requestreset
                          - request_requestupdate
                          - services_create_service
                          - services_editservice
                          - services_list_services
                          - ssl_create_ssl
                          - ssl_list_ssl
                          - ssl_renew_ssl
                          - support_create_ticket
                          - support_show_all_tickets
                          - user_getpermissions
                          - user_setpermissions
                    availablepermissions:
                      - account_create
                      - account_create_user
                      - account_getaccountdetails
                      - account_getaccounteconomy
                      - account_getaccountstats
                      - account_getloginhistory
                      - account_getstatistics
                      - account_setaccountsettings
                      - account_setpassword
                      - contact_contactdetails
                      - contact_contactlist
                      - contact_createcontact
                      - contact_deletecontact
                      - contact_updatecontact
                      - dns_addmailforward
                      - dns_addrecord
                      - dns_addredirect
                      - dns_create_dns_registration
                      - dns_deleterecord
                      - dns_getrecords
                      - dns_publishdnssec
                      - dns_signdnszone
                      - dns_unpublishdnssec
                      - dns_updaterecord
                      - dns_updatesoa
                      - dns_update_dns_product
                      - dns_update_dns_renew
                      - dns_zonelist
                      - domain_checkdomainstatus
                      - domain_create_domain_registration
                      - domain_create_domain_transfer
                      - domain_domaindetails
                      - domain_domainlist
                      - domain_editdomain
                      - domain_genauthcode
                      - domain_portfoliosearch
                      - domain_updatedomain
                      - domain_update_domain_contact
                      - domain_update_domain_dns
                      - domain_update_domain_registrant
                      - domain_update_domain_renew
                      - domain_update_domain_restore
                      - economy_deposit
                      - economy_invoicedetails
                      - economy_invoicelist
                      - economy_pricelist
                      - economy_receiptslist
                      - economy_transactionlist
                      - request_requestcancellation
                      - request_requestdetails
                      - request_requestlist
                      - request_requestreset
                      - request_requestupdate
                      - services_create_service
                      - services_editservice
                      - services_list_services
                      - ssl_create_ssl
                      - ssl_list_ssl
                      - ssl_renew_ssl
                      - support_create_ticket
                      - support_show_all_tickets
                      - user_getpermissions
                      - user_setpermissions
                    runtime: 0.0709
      operationId: get-user-permissions
      parameters:
        - schema:
            type: integer
          in: query
          name: accid
        - schema:
            type: integer
          in: query
          name: usrid
      description: ''
    parameters: []
    post:
      summary: Permissions
      operationId: post-user-permissions
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/default'
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              type: object
              properties:
                usrid:
                  type: integer
                accid:
                  type: integer
                permissions:
                  type: array
                  description: Set all permissions for the user
                  items:
                    type: string
              required:
                - usrid
      tags:
        - User
      description: ''
  /user/getloginlog/:
    get:
      summary: Login Log
      tags:
        - User
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/default'
      operationId: get-user-getloginlog
      parameters:
        - schema:
            type: integer
          in: query
          name: accid
          description: defaults to current signed on account
        - schema:
            type: integer
          in: query
          name: usrid
          description: defaults to current signed on user
      description: Get login history for a user in account or child account.
    parameters: []
  /services/create_service/:
    post:
      summary: Create Service
      operationId: service-create_service
      responses:
        '200':
          $ref: '#/components/responses/request'
      tags:
        - Services
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                proid:
                  type: integer
                commonname:
                  type: string
                type:
                  type: string
              required:
                - proid
        description: Note that there is extra parameters per every service.
    parameters: []
  /services/servicelist/:
    get:
      summary: Service List
      operationId: get-service-servicelist
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                x-examples:
                  Example 1:
                    resulttotals:
                      unfiltered:
                        PremiumDNS:
                          groupid: 3
                          value: 1
                        SSL:
                          groupid: 4
                          value: 0
                        Miscellaneous:
                          groupid: 5
                          value: 0
                    items:
                      '1083606':
                        accID: 34758
                        status: 200
                        proid: 2323
                        groupname: PremiumDNS
                        productname: Standard DNS +
                        created: '2023-07-06 12:43:35'
                        expires: '2028-07-06'
                        renewaldate: '2028-07-06'
                        name: v3.missdomain.com
                        autorenew: 1
                    code: 1000
                    desc: Command completed successfully
                    session:
                      accID: '34758'
                      usrID: '147726'
                      unpaidinvoices:
                        invoices:
                          unpaid: '23'
                      status: active
                      expire:
                        date: '2024-05-06 17:45:47'
                        seconds: 1581
                    runtime: 0.0907
                properties:
                  resulttotals:
                    type: object
                    properties:
                      unfiltered:
                        type: object
                        properties:
                          PremiumDNS:
                            type: object
                            properties:
                              groupid:
                                type: integer
                              value:
                                type: integer
                          SSL:
                            type: object
                            properties:
                              groupid:
                                type: integer
                              value:
                                type: integer
                          Miscellaneous:
                            type: object
                            properties:
                              groupid:
                                type: integer
                              value:
                                type: integer
                  items:
                    type: object
                    properties:
                      '{itemid}':
                        type: object
                        description: object key is itemid
                        properties:
                          accID:
                            type: integer
                          status:
                            type: integer
                          proid:
                            type: integer
                          groupname:
                            type: string
                          productname:
                            type: string
                          created:
                            type: string
                          expires:
                            type: string
                          renewaldate:
                            type: string
                          name:
                            type: string
                          autorenew:
                            type: integer
                  code:
                    type: integer
                  desc:
                    type: string
                  runtime:
                    type: number
              examples: {}
      tags:
        - Services
      parameters:
        - schema:
            type: integer
            enum:
              - 3
              - 4
              - 5
          in: query
          name: groupid
          description: 3 = PremiumDNS<br>4 = SSL<br>5 = Miscellaneous
        - $ref: '#/components/parameters/start'
        - $ref: '#/components/parameters/limit'
        - schema:
            type: string
          in: query
          name: name
        - schema:
            type: array
            items:
              type: string
              enum:
                - subaccounts
                - nameservers
                - archive
          name: include
          in: query
        - schema:
            type: array
            items:
              type: integer
          in: query
          name: subaccounts
          description: List of accounts to include<br>Only available with include = subaccounts
    parameters: []
  /premiumdns/create_dns_registration/:
    post:
      summary: Create DNS Registration
      tags:
        - DNS service
      responses:
        '200':
          $ref: '#/components/responses/request'
      operationId: create_dns_registration
      description: ''
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                domainname:
                  type: string
                type:
                  type: string
                  enum:
                    - trial
                    - basic
                    - premium
                  default: premium
              required:
                - domainname
  /premiumdns/update_dns_renew/:
    post:
      summary: Update DNS Renew
      tags:
        - DNS service
      responses:
        '200':
          $ref: '#/components/responses/request'
      operationId: update_dns_renew
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                itemid:
                  type: integer
              required:
                - itemid
      description: ''
components:
  schemas:
    authenticate-login:
      description: Authenticate
      type: object
      properties:
        code:
          type: integer
          example: 1000
        desc:
          type: string
          example: Command completed successfully
        parameters:
          type: object
          properties:
            token:
              type: string
              example: '{Session-Token}'
            accID:
              type: integer
              example: 0
            usrID:
              type: integer
              example: 0
        runtime:
          type: number
          example: 0.0709
    userpermissions:
      description: user permissions
      type: object
      title: /user/permissions/
      x-examples: {}
      properties:
        code:
          type: integer
          example: 1000
        desc:
          type: string
          example: Command completed successfully
        permissions:
          type: array
          items:
            type: object
            properties:
              accID:
                type: integer
              usrID:
                type: integer
              permissions:
                type: array
                items:
                  type: string
        availablepermissions:
          type: array
          items:
            type: string
        runtime:
          type: number
          example: 0.0709
    searchdomain:
      description: SearchDomain
      type: object
      properties:
        code:
          type: integer
          example: 1000
        desc:
          type: string
          example: Command completed successfully
        parameters:
          type: object
          properties:
            example.com:
              type: object
              properties:
                status:
                  type: string
                  example: unavailable
                tld:
                  type: string
                  example: com
            example.net:
              type: object
              properties:
                status:
                  type: string
                  example: available
                tld:
                  type: string
                  example: net
        runtime:
          type: number
          example: 0.0709
    default:
      type: object
      properties:
        code:
          type: integer
          example: 1000
        desc:
          type: string
          example: Command completed successfully
        runtime:
          type: number
          example: 0.0709
    error:
      type: object
      properties:
        code:
          type: integer
          example: 2400
        desc:
          type: string
          example: Command failed
        runtime:
          type: number
          example: 0.0709
  parameters:
    session-token:
      name: Session-Token
      in: path
      description: Session-token from login call
      schema:
        type: string
      deprecated: true
      required: true
    limit:
      name: limit
      in: query
      description: Invalid values are ignored and default value is used
      schema:
        type: integer
        minimum: 1
        maximum: 1000
        default: 100
    start:
      name: start
      in: query
      schema:
        type: integer
        default: 0
  securitySchemes:
    sessionToken:
      name: API Key
      type: apiKey
      in: query
      description: ''
    API-key:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: |-
        Example: 
        > Authorization: Bearer {API-key}
    Session-Token:
      type: http
      scheme: bearer
      description: |-
        Session Token received from /auth/login/<br>
        Example: 
        > Authorization: Bearer {Session-Token}
  responses:
    default:
      description: ''
      content:
        application/json:
          schema:
            type: object
            properties:
              code:
                type: integer
              desc:
                type: string
              runtime:
                type: number
          examples:
            OK:
              value:
                code: 1000
                desc: Command completed successfully
                runtime: 0.0709
            Failed:
              value:
                code: 2400
                desc: Command failed
                runtime: 0.0709
    request:
      description: |-
        Example response<br>
        Use **/request/requestdetails/** to check the current status of the request.
      content:
        application/json:
          schema:
            type: object
            x-examples:
              example-1:
                code: 1000
                desc: Command completed successfully
                runtime: 0.0709
            properties:
              code:
                type: integer
              desc:
                type: string
              runtime:
                type: number
              parameters:
                type: object
                properties:
                  requestID:
                    type: integer
                  orderID:
                    type: string
          examples:
            example-1:
              description: Use **/request/requestdetails/** to check the current status of the request.
              value:
                code: 0
                desc: string
                runtime: 0
                parameters:
                  requestID: 0
                  orderID: string
      headers: {}
    lists:
      description: Example response
      content:
        application/json:
          schema:
            type: object
            x-examples:
              example-1:
                code: 0
                desc: string
                runtime: 0
                items:
                  requestID: 0
                  orderID: string
            properties:
              code:
                type: integer
              desc:
                type: string
              runtime:
                type: integer
              items:
                type: object
                properties:
                  '{itemid}':
                    type: object
                    description: object key is itemid
                    properties:
                      status:
                        type: integer
                      autorenew:
                        type: integer
                      commonname:
                        type: string
                      domainname:
                        type: string
                      expires:
                        type: string
                      renewaldate:
                        type: string
          examples:
            Servicelist:
              value:
                code: 0
                desc: string
                runtime: 0
                items:
                  '1234':
                    status: 0
                    autorenew: 0
                    commonname: string
                    domainname: string
                    expires: string
                    renewaldate: string
                  '5678':
                    status: 0
                    autorenew: 0
                    commonname: string
                    domainname: string
                    expires: string
                    renewaldate: string
    domainlist:
      description: Example response
      content:
        application/json:
          schema:
            type: object
            properties:
              code:
                type: integer
              desc:
                type: string
              runtime:
                type: integer
              items:
                type: object
                properties:
                  '{itemid}':
                    type: object
                    description: object key is itemid
                    properties:
                      status:
                        type: string
                      autorenew:
                        oneOf:
                          - properties: {}
                        type:
                          - integer
                          - boolean
                      domainname:
                        type: string
                      idndomainname:
                        type: string
                      expires:
                        type: string
                      renewaldate:
                        type: string
                      trustee:
                        oneOf:
                          - properties: {}
                        type:
                          - integer
                          - boolean
                      owner:
                        type: integer
                      contactupdating:
                        oneOf:
                          - properties: {}
                        type:
                          - integer
                          - boolean
                      created:
                        type: string
                      transfered_away:
                        type: string
                      shieldwhois:
                        deprecated: true
                        oneOf:
                          - properties: {}
                        type:
                          - integer
                          - boolean
                      domainlock:
                        oneOf:
                          - properties: {}
                        type:
                          - integer
                          - boolean
                      transferlock:
                        oneOf:
                          - properties: {}
                        type:
                          - integer
                          - boolean
                      tldrules:
                        type: object
                      prices:
                        type: object
                      itemStatus:
                        type: string
                      tld:
                        type: string
                      accID:
                        type: string
                        description: Available for child accounts
                      available-actions:
                        type: object
                      labels:
                        type: object
                      nameservers:
                        type: array
                        description: Avialable if "include" contains "nameservers"
                        items:
                          type: string
          examples: {}
  examples: {}
security:
  - Session-Token: []
tags:
  - name: Authenticate
  - name: Account
  - name: Contact
  - name: DNS zone
  - name: DNS service
  - name: Domain
  - name: Economy
  - name: Miscellaneous
  - name: Request
  - name: User
  - name: Services
  - name: Whitelabel
servers:
  - url: 'https://api.domainname.systems'
