rdapapi-io · Schema

AsnResponse

CompanyRDAPDomainAPIWhois

Properties

Name Type Description
handle stringnull Registry-assigned handle
name stringnull Autonomous system name
type stringnull Allocation type
start_autnum integernull Start of the ASN range
end_autnum integernull End of the ASN range
country stringnull ISO 3166-1 alpha-2 country code, from the record or else a contact's address. APNIC and Brazil's registro.br usually publish one; ARIN, RIPE NCC, AFRINIC and LACNIC usually don't.
status array Status codes
dates object
entities object Contact entities keyed by role (registrant, administrative, technical, billing, abuse)
remarks array Remarks from the registry (AS description, abuse info, etc.)
port43 stringnull Legacy WHOIS server hostname
redacted object
meta object
View JSON Schema on GitHub

JSON Schema

rdapapi-io-asn-response-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/rdapapi-io/json-schema/rdapapi-io-asn-response-schema.json",
  "title": "AsnResponse",
  "x-generated": "2026-10-31",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/rdapapi-io-openapi.yaml#/components/schemas/AsnResponse",
  "type": "object",
  "required": [
    "handle",
    "name",
    "type",
    "start_autnum",
    "end_autnum",
    "country",
    "status",
    "dates",
    "entities",
    "remarks",
    "port43"
  ],
  "properties": {
    "handle": {
      "type": [
        "string",
        "null"
      ],
      "description": "Registry-assigned handle"
    },
    "name": {
      "type": [
        "string",
        "null"
      ],
      "description": "Autonomous system name"
    },
    "type": {
      "type": [
        "string",
        "null"
      ],
      "description": "Allocation type"
    },
    "start_autnum": {
      "type": [
        "integer",
        "null"
      ],
      "description": "Start of the ASN range"
    },
    "end_autnum": {
      "type": [
        "integer",
        "null"
      ],
      "description": "End of the ASN range"
    },
    "country": {
      "type": [
        "string",
        "null"
      ],
      "description": "ISO 3166-1 alpha-2 country code, from the record or else a contact's address. APNIC and Brazil's registro.br usually publish one; ARIN, RIPE NCC, AFRINIC and LACNIC usually don't."
    },
    "status": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Status codes"
    },
    "dates": {
      "$ref": "#/$defs/Dates"
    },
    "entities": {
      "type": "object",
      "description": "Contact entities keyed by role (registrant, administrative, technical, billing, abuse)",
      "properties": {
        "registrant": {
          "$ref": "#/$defs/Contact"
        },
        "administrative": {
          "$ref": "#/$defs/Contact"
        },
        "technical": {
          "$ref": "#/$defs/Contact"
        },
        "abuse": {
          "$ref": "#/$defs/Contact"
        },
        "billing": {
          "$ref": "#/$defs/Contact"
        }
      }
    },
    "remarks": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/Remark"
      },
      "description": "Remarks from the registry (AS description, abuse info, etc.)"
    },
    "port43": {
      "type": [
        "string",
        "null"
      ],
      "description": "Legacy WHOIS server hostname"
    },
    "redacted": {
      "$ref": "#/$defs/Redaction"
    },
    "meta": {
      "$ref": "#/$defs/Meta"
    }
  },
  "$defs": {
    "Contact": {
      "type": "object",
      "description": "One contact. Any field may be null or withheld.\n",
      "required": [
        "handle",
        "name",
        "organization",
        "email",
        "phone",
        "address",
        "contact_url",
        "country_code"
      ],
      "properties": {
        "handle": {
          "type": [
            "string",
            "null"
          ],
          "description": "Registry handle for this entity"
        },
        "name": {
          "type": [
            "string",
            "null"
          ]
        },
        "organization": {
          "type": [
            "string",
            "null"
          ]
        },
        "email": {
          "type": [
            "string",
            "null"
          ]
        },
        "phone": {
          "type": [
            "string",
            "null"
          ],
          "description": "Voice telephone number in E.164, with a `;ext=42` suffix when the registry supplies an extension."
        },
        "address": {
          "type": [
            "string",
            "null"
          ]
        },
        "contact_url": {
          "type": [
            "string",
            "null"
          ],
          "description": "Where a server withholds `email` and publishes a web form instead, this carries it."
        },
        "country_code": {
          "type": [
            "string",
            "null"
          ],
          "description": "ISO 3166-1 alpha-2 country code from the address. Unlike the text fields, a redaction placeholder here is dropped to `null` rather than passed through — it is not a country code."
        }
      }
    },
    "Dates": {
      "type": "object",
      "required": [
        "registered",
        "expires",
        "updated"
      ],
      "properties": {
        "registered": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time"
        },
        "expires": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time"
        },
        "updated": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time"
        }
      }
    },
    "Meta": {
      "type": "object",
      "description": "Where the answer came from, and how it was served.\n",
      "required": [
        "server",
        "source"
      ],
      "properties": {
        "server": {
          "type": [
            "string",
            "null"
          ],
          "description": "Host that answered, as `/tlds` reports it (usable as `?server=`). May be null on old cached records."
        },
        "source": {
          "type": "string",
          "enum": [
            "rdap",
            "whois"
          ],
          "description": "Which protocol answered. Always `rdap` except on domain lookups, where a TLD with no RDAP server is answered over [WHOIS](#tag/whois-fallback)."
        },
        "rdap_server": {
          "type": "string",
          "deprecated": true,
          "description": "Base URL of the RDAP server, present only when `source` is `rdap`. Use `server` for the host that answered, or `raw_rdap_url` for the exact endpoint queried."
        },
        "raw_rdap_url": {
          "type": "string",
          "description": "Direct URL to the raw RDAP response. Absent when `source` is `whois`, which has no URL form, or when a stored snapshot answered."
        },
        "cached": {
          "type": "boolean",
          "description": "Whether the response was served from cache. Omitted from the partial `meta` of a failed bulk entry."
        },
        "cache_expires": {
          "type": "string",
          "format": "date-time",
          "description": "Cache expiration time (ISO 8601). Omitted from the partial `meta` of a failed bulk entry."
        },
        "followed": {
          "type": "boolean",
          "description": "Whether the registrar's RDAP server was queried for richer data. Only present when `?follow=true` is used and `source` is `rdap`."
        },
        "registrar_rdap_server": {
          "type": [
            "string",
            "null"
          ],
          "description": "URL of the registrar's RDAP record the registry linked to. Only present when `?follow=true` is used."
        },
        "follow_error": {
          "type": [
            "string",
            "null"
          ],
          "description": "Error message if the follow request failed. Only present when `?follow=true` is used and the request fails."
        }
      }
    },
    "Redaction": {
      "type": "object",
      "minProperties": 1,
      "description": "Fields the server declared withheld, at the same path as in the record. See [Redaction](#tag/terminology).\n",
      "properties": {
        "handle": {
          "$ref": "#/$defs/RedactionMethod"
        },
        "registrar": {
          "type": "object",
          "description": "Claims about the top-level `registrar` object. Domain lookups only.",
          "additionalProperties": {
            "$ref": "#/$defs/RedactionMethod"
          }
        },
        "entities": {
          "type": "object",
          "description": "Claims keyed by contact role, then by field within that contact.",
          "additionalProperties": {
            "type": "object",
            "additionalProperties": {
              "$ref": "#/$defs/RedactionMethod"
            }
          }
        }
      }
    },
    "RedactionMethod": {
      "type": "string",
      "description": "`removal`, `emptyValue`, `partialValue` or `replacementValue`; see [Redaction](#tag/terminology).\n"
    },
    "Remark": {
      "type": "object",
      "required": [
        "title",
        "description"
      ],
      "properties": {
        "title": {
          "type": [
            "string",
            "null"
          ]
        },
        "description": {
          "type": "string"
        }
      }
    }
  }
}

Work with this as data

Every JSON Schema 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 schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • 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 JSON Schema
curl "https://apis.io/api/v1/json-schemas/rdapapi-io-asn-response"
All schemas
curl "https://apis.io/api/v1/json-schemas?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.