CompleteDNS API v1

The CompleteDNS API v1 (legacy) returns the historical nameserver record for a domain. Includes drop and change counts, TLD support indicator, and chronologically ordered events with added/removed nameservers. CompleteDNS recommends migrating to v2.

OpenAPI Specification

completedns-v1-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: CompleteDNS API v1
  description: >-
    The CompleteDNS API v1 returns the historical nameserver record for a
    domain (legacy version). The service tracks nameserver changes and
    domain drops and returns chronologically ordered events for a queried
    domain. Authentication is via an API key passed as a query string
    parameter. CompleteDNS recommends using the v2 API for new
    integrations.
  version: v1
  contact:
    name: CompleteDNS
    url: https://completedns.com/contact
  termsOfService: https://completedns.com/terms
externalDocs:
  description: CompleteDNS API v1 Documentation
  url: https://completedns.com/api/documentation/v1
servers:
  - url: https://api.completedns.com/v1
    description: CompleteDNS v1 production API
tags:
  - name: NS History
    description: Nameserver history (legacy) for a domain
security:
  - apiKey: []
paths:
  /ns-history/{domain}:
    get:
      operationId: getNsHistory
      summary: Get nameserver history for a domain
      description: >-
        Returns the full history of nameserver changes and drop events for
        the requested domain. Response includes drop count, change count,
        years tracked, TLD support flag, and a chronologically ordered list
        of events.
      tags:
        - NS History
      parameters:
        - name: domain
          in: path
          required: true
          description: The fully qualified domain to look up.
          schema:
            type: string
            example: youtube.com
        - name: key
          in: query
          required: true
          description: API key issued in the CompleteDNS account API section.
          schema:
            type: string
      responses:
        '200':
          description: Nameserver history record for the domain.
          headers:
            requestsLeft:
              description: Number of API requests remaining in the current quota.
              schema:
                type: integer
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NsHistoryResponse'
        '400':
          description: Invalid domain.
        '401':
          description: Missing or invalid API key.
        '403':
          description: IP restriction or quota exhausted.
        '404':
          description: Domain not tracked.
components:
  securitySchemes:
    apiKey:
      type: apiKey
      in: query
      name: key
  schemas:
    NsHistoryResponse:
      type: object
      properties:
        drops:
          type: integer
          description: Total nameserver removal events recorded.
        changes:
          type: integer
          description: Total nameserver change events recorded.
        years:
          type: number
          description: Years of history tracked for the domain.
        supported:
          type: boolean
          description: Whether the queried TLD is supported.
        data:
          type: array
          items:
            $ref: '#/components/schemas/NsEvent'
    NsEvent:
      type: object
      properties:
        type:
          type: string
          enum:
            - started_tracking
            - ns_change
            - new_domain
            - deleted_domain
        date:
          type: string
        nameservers:
          type: array
          items:
            type: object
            properties:
              added_ns:
                type: string
              deleted_ns:
                type: string