---
title: "The same audit as the POST form, from the query string"
method: GET
path: "/api/check"
---

# The same audit as the POST form, from the query string

`GET /api/check`

## Request

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

The eleven checks of POST /api/check, from the query string. This URL is the api: line of every MCP check_domain answer. A stored result says so: its generatedAt is the time it was read and its receipts are marked stored. HEAD is not answered.

## Query parameters

- `name` string, required
- `from` 'north-america' | 'europe'

## Response `200`

Each check with what it found and the ids of its receipts; every transaction the audit made (receipts), the authoritative address asked (auth) and the nameservers the parent named (parentNs)

- CheckResult: What each check found. There is no score and no letter grade.
  - `resolves` object, required: Whether the name resolves, as the audit's reads of the name came back: the line check_domain prints first
    - `state` 'resolves' | 'split' | 'alias' | 'no address' | 'NXDOMAIN' | 'lame' | 'no answer' | 'error' | 'mixed' | 'not read', required
    - `line` string, required
    - `receipts` string[], required: The ids of the receipts the line rests on
    - `asked` string[], required: The ids of the reads made for this line alone, each asked or NOT ASKED with its reason
  - `domain` string, required: The name that was asked about.
  - `generatedAt` string, required
  - `summary` object, required: The count of rows by status (ok, warn, fail, skip), and resolves: the state of the first line, the same word as resolves.state
    - `ok` integer, required
    - `warn` integer, required
    - `fail` integer, required
    - `skip` integer, required
    - `resolves` 'resolves' | 'split' | 'alias' | 'no address' | 'NXDOMAIN' | 'lame' | 'no answer' | 'error' | 'mixed' | 'not read', required
  - `checks` object[], required
    - `id` string
    - `label` string
    - `status` 'ok' | 'warn' | 'fail' | 'skip'
    - `detail` string
    - `source` 'auth' | 'doh': auth = asked the authoritative server; doh = asked 1.1.1.1 over DoH.
    - `subject` string: The name this check asked about, present only when it is not `domain`: a zone check of a hostname is read at its zone.
    - `next` object[]: The one reading to take next, present only on a warn or fail row that has one: tool (trace, dnssec_chain or sweep_domain), args (that tool's call) and command (the dig-shaped line the texts print as next:).
      - `tool` 'dig' | 'trace' | 'dnssec_chain' | 'sweep_domain' | 'check_domain', required
      - `args` object, required
      - `command` string, required
  - `zone` string: The zone that holds `domain` (the deepest delegation at or above it), present only when it is not `domain`. Absent for a registrable domain, and absent when that zone was not read, in which case each check about the zone says so. When present, the answer mixes checks about this zone with checks about the name itself, and each check says which it is.

---

[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)
