Skip to main content
GET
/
core
/
v1
/
domaininfo
/
requirementsV2
/
{tld}
Get TLD Requirements as JSON Schema
curl --request GET \
  --url https://api.dev.name.com/core/v1/domaininfo/requirementsV2/{tld} \
  --header 'Authorization: Basic <encoded-value>'
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "title": ".it Domain Registration Requirements Schema",
  "description": "Registration requirements for .it domains",
  "properties": {
    "tldInfo": {
      "tld": ".it",
      "ccTld": true,
      "supportsTransferLock": true,
      "supportsDnssec": true,
      "supportsPremium": false,
      "supportsPrivacy": false,
      "requiresPreDelegation": false,
      "expirationGracePeriod": 25,
      "allowedRegistrationYears": [
        1,
        3,
        5,
        8,
        10
      ],
      "idnLanguages": {
        "IT": "Italian"
      },
      "hsts": false,
      "minDomainLength": 3,
      "minIdnDomainLength": 5,
      "registryOperator": "nic.it",
      "claimsCheckRequired": [],
      "readOnly": true
    },
    "contacts": {
      "type": "object",
      "properties": {
        "registrant": {
          "type": "object",
          "properties": {
            "firstName": {
              "type": "string",
              "title": "First Name",
              "description": "First name of registrant contact"
            },
            "email": {
              "type": "string",
              "format": "email",
              "title": "Email",
              "description": "Email address of registrant contact"
            }
          },
          "required": [
            "firstName",
            "email"
          ]
        }
      },
      "required": [
        "registrant"
      ]
    },
    "tldRequirements": {
      "type": "object",
      "properties": {
        "X-IT-ENTITY-TYPE": {
          "type": "string",
          "title": "Registrant Entity Type",
          "enum": [
            "1",
            "2",
            "3",
            "4",
            "5",
            "6",
            "7"
          ]
        },
        "X-IT-PIN": {
          "type": "string",
          "title": ".IT PIN number",
          "description": "16 alphanumeric characters (tax code) for natural persons or 11 digits (VAT number) for organizations"
        }
      }
    }
  },
  "required": [
    "contacts",
    "tldRequirements"
  ]
}

Authorizations

Authorization
string
header
required

Authenticate via HTTP Basic with your account username and API token. Examples use an explicit 'Authorization: Basic <base64(username:token)>' header; 'curl -u username:token' is equivalent. For sandbox, append "-test" to your username and use your sandbox token on api.dev.name.com.

Path Parameters

tld
string
required

TLD indicates which domain requirements to retrieve (without the dot prefix, e.g., 'fr' for .fr domains). For punycode TLDs, use the ASCII version instead of the UTF-8. So for the онлайн TLD, you would submit xn--80asehdb.

Example:

"fr"

Response

JSON Schema document describing TLD registration requirements.

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#"

Example:

"http://json-schema.org/draft-07/schema#"

type
string

The JSON Schema type, typically "object" for requirement schemas

Example:

"object"

title
string

A human-readable title for the schema

Example:

".it Domain Registration Requirements Schema"

description
string

A detailed description of the registration requirements

Example:

"Registration requirements for .it domains"

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

required
string[]

An array of required property names

Example:
["tldInfo", "contacts", "tldRequirements"]
allOf
object[]

An array of schema objects that must all be valid. Used for conditional validation with multiple conditions.

if
object

The condition schema for conditional validation. When this condition is true, the 'then' schema applies.

then
object

The schema to apply when the 'if' condition is true.

else
object

The schema to apply when the 'if' condition is false (optional).