---
title: "Get TLD Requirements as JSON Schema"
method: GET
path: "/core/v1/domaininfo/requirementsV2/{tld}"
tags: ["Domain Info"]
---

# Get TLD Requirements as JSON Schema

`GET /core/v1/domaininfo/requirementsV2/{tld}`

Returns the registration requirements as a JSON Schema (Draft 7) document. This endpoint is designed for form generation and validation libraries that consume JSON Schema directly.

## Path parameters

- `tld` string, required

## Response `200`

JSON Schema document describing TLD registration requirements.

- RequirementsJsonSchema — A JSON Schema Draft 7 document that describes the registration requirements for a TLD. This schema follows the JSON Schema Draft 7 specification (http://json-schema.org/draft-07/schema#) and can be used directly by form generation and validation libraries that consume JSON Schema. The schema structure includes: - A `tldInfo` property containing general TLD information (read-only, always present) - A `contacts` property containing contact field requirements (e.g., registrant, admin, tech) - A `tldRequirements` property containing TLD-specific registration fields The `contacts` and `tldRequirements` properties may be empty objects, while `tldInfo` will always contain data. The exact structure varies by TLD, as different TLDs have different registration requirements.
  - `$schema` string — The JSON Schema version identifier, should be "http://json-schema.org/draft-07/schema#"
  - `type` string — The JSON Schema type, typically "object" for requirement schemas
  - `title` string — A human-readable title for the schema
  - `description` string — A detailed description of the registration requirements
  - `properties` object — An object containing the schema properties. Includes: - `tldInfo`: An object containing general TLD information (read-only) - `contacts`: An object defining contact field requirements - `tldRequirements`: An object defining TLD-specific registration fields
    - `tldInfo` TldInfoJsonSchema — General information about a TLD and it's various requirements. This is not a comprehensive list of all information related to a TLD.
      - `tld` string, required — The TLD this information relates to.
      - `ccTld` boolean, required — Whether the TLD is a Country Code TLD.
      - `supportsTransferLock` boolean, required — Whether the TLD supports implementing a Transfer Lock.
      - `supportsDnssec` boolean, required — Whether the TLD supports DNSSEC.
      - `supportsPremium` boolean, required — Whether there are premium domains for this TLD.
      - `supportsPrivacy` boolean, required — Whether the TLD supports WHOIS Privacy.
      - `supportsInternalTransfer` boolean, required — Whether the TLD supports internal transfer between reseller accounts.
      - `requiresPreDelegation` boolean, required — Whether this TLD requires pre-delegation. If this is true, these domains must be added to the name servers before the domain creation is completed.
      - `expirationGracePeriod` integer, required — The number of days you have to renew your domain after it has expired, but before it is removed from your account.
      - `allowedRegistrationYears` integer[], required — The years that a domain is allowed to be registered for.
      - `idnLanguages` object, required — The IND Languages that the TLD supports (if any).
      - `hsts` boolean, required — The entire TLD namespace has been added to the HSTS Preload list. As such, all second-level domains under .TLD will only load on modern browsers if a valid SSL certificate has been configured and the webserver is serving HTTPS.
      - `minDomainLength` integer, required — The minimum allowed length for the second level domain (SLD) for a given TLD. The SLD would be the `example` part of `example.com`. Attempts to register a domain with a shorter length than allowed will result in a failure of a Create Domain request.
      - `minIdnDomainLength` integer, nullable, required — The minimum allowed length for the second level domain (SLD) that utilizes an IDN character for a given TLD. The SLD would be the `èxample` part of `èxample.com`. Attempts to register a domain with a shorter length than allowed will result in a failure of a Create Domain request. This value will often be different from the `minDomainLength` for non-IDN registrations. This parameter will return as `null` for any TLDs that do not support IDN registrations.
      - `registryOperator` string, required — The registry that operates the given TLD.
      - `claimsCheckRequired` string[], required — Array of valid purchase types if claims check is required for this TLD for current date/time. If claims checking is required, returns an array of valid purchase types (e.g., ["registration", "landrush_eap"]). If claims checking is not required, returns an empty array [].
      - `requireIdnSld` boolean, required — When true, the TLD only accepts IDN (punycode) second-level domain names in the required script. ASCII/Latin SLDs are not valid for registration.
    - `contacts` object — An object defining contact field requirements. May be an empty object if no contact requirements exist for the TLD.
    - `tldRequirements` object — An object defining TLD-specific registration fields. May be an empty object if no TLD-specific requirements exist.
  - `required` string[] — An array of required property names
  - `allOf` object[] — An array of schema objects that must all be valid. Used for conditional validation with multiple conditions.
  - `if` object, nullable — The condition schema for conditional validation. When this condition is true, the 'then' schema applies.
  - `then` object, nullable — The schema to apply when the 'if' condition is true.
  - `else` object, nullable — The schema to apply when the 'if' condition is false (optional).

## Other responses

- `400` — Bad request.
- `401` — Unauthorized.
- `403` — Forbidden - you do not have permission to perform this action.
- `404` — TLD not found.
- `405` — Method not allowed.
- `422` — TLD not supported.
- `429` — Rate limit has been exceeded.
- `500` — Internal server error.
- `502` — Bad Gateway
- `504` — Gateway Timeout

---

[API](https://skmtc.dev/name/apis/name-com-core-api.md) · [All operations](https://skmtc.dev/name/apis/name-com-core-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/name/name-com-core-api/revisions/a37d4cbd3991/schema)
