---
title: "Walk the delegation from the root, like dig +trace"
method: POST
path: "/api/trace"
---

# Walk the delegation from the root, like dig +trace

`POST /api/trace`

## Request

- Base URL: `https://isitdns.net`
- URL: `https://isitdns.net/api/trace`
- Auth: none declared

Starts at a root server and follows each referral to the authoritative server, then asks it for the name and type, Do53 over TCP from the isitdns edge. A referral with no glue is resolved through 1.1.1.1 over DoH (side). A server the edge could not connect to is listed in failed with its error.

## Request body

- object
  - `name` string, required
  - `type` string

## Response `200`

Every hop, root to authority, with the final answer

- TraceResult: One delegation walk from the root
  - `query` object
    - `name` string
    - `type` string
  - `readAt` string, date-time: When the walk started
  - `hops` object[]: Every server asked, root to authority, each with the zone, the time it was asked, its flags, EDE, size, what it returned and via (the probe that asked; absent: the isitdns edge)
  - `failed` object[]: Every dial that got nothing back, with its error
  - `side` object[]: Every side lookup through 1.1.1.1, with its time, rcode and answer
  - `finalServer` object
    - `ip` string
    - `label` string
    - `zone` string
  - `finalAnswer` object[], nullable: The authority's answer section, null when the walk stopped
  - `warnings` string[]: Faults of the delegation
  - `notes` string[]: Facts of the walk that are not faults
  - `totalLatencyMs` integer
  - `noPublicAddress` object: Present when no glue address the parent gave is public
    - `zone` string
    - `servers` string[]
    - `glue` string[]
  - `error` string: Present when an error stopped the walk; hops holds the walk up to it

---

[API](https://skmtc.dev/isitdns/apis/is-it-dns-api.md) · [All operations](https://skmtc.dev/isitdns/apis/is-it-dns-api/llms.txt) · [OpenAPI document](https://skmtc.dev/isitdns/apis/is-it-dns-api/revisions/d5257837c67b?raw)
