WAPI – Domain Contacts

  WAPI (API Interface)

This tutorial addresses WAPI requests for working with domain contacts. For instructions on domains, go to WAPI – Domains.

If you haven’t used WAPI before, read the WAPI Manual first.

In this article, you will find information on managing domain contacts with the following supported TLDs:

and also on the following commands:

Domain Contact Management for Individual Registries

Each domain registry manages contacts differently, there are different rules for contact identifiers, mandatory items in the details and so on.

You can usually only set the company name, first and last name, i.e. company, fname and lname parameters when creating a contact, because the registries consider changing this information equivalent to changing the owner. You can find more specific information below.

CZ Domains

When creating a contact for a CZ domain, you can specify a name. Use the contact-check to check if the chosen name is available (not used, blocked, ..).

The contact name can only contain uppercase letters of the English alphabet, numbers and a hyphen. If you do not specify a name when creating a contact, the system will generate one automatically.

In the contact detail, you can set:

  • cname – contact name (only when creating a new one); omit this parameter or leave blank it to generate a pseudo-random name)
  • company
  • fname – name – required
  • lname – surname – required
  • email – required
  • phone – phone number +XXX XXXXXXXXX
  • fax – fax number +XXX XXXXXXXXX
  • dic – VAT ID
  • addr_street – street address and house number – required
  • addr_city – city address – required
  • addr_zip – ZIP code – required
  • addr_country – country (two-letter ISO code, lowercase) – required
  • addr_state – state or region
  • ident_type – type of ID document (ico (company ID), op (personal ID), birthday (date of birth in DD.MM.YYYY format), passport, mpsv (MPSV ID))
  • ident – ID document number (depending on ident_type)
  • notify_email – notification email address
  • disclose_phone – hide phone
  • disclose_fax – hide fax
  • disclose_email – hide email
  • disclose_ident – hide ID document number
  • disclose_notify_email – hide notification email

For CZ domain contacts, it is possible to hide some items in the contact details. Use the disclose_* entries in the contact detail with a 0/1 flag (1 = hidden, 0 = public) to specify whether that information should be hidden. If this information is flagged as hidden, it cannot be viewed without authorization.

From mid-January 2018, you can set a delivery address for CZ domain contacts. When creating/editing a contact, enter the following items:

  • del_addr=1 – acive delivery address (required)
  • del_addr_street1 – street (required)
  • del_addr_street2 – street (optional)
  • del_addr_street3 – street (optional)
  • del_addr_city – city (required)
  • del_addr_state – state or region
  • del_addr_country – country (two-letter ISO code, lowercase) (required)

To deactivate the delivery address for a contact, enter del_addr=0 when creating/editing a contact.

EU Domains

When creating a contact in the EURid registry, you cannot specify its name. The system always assigns it automatically.

In the contact detail, you can set:

  • company
  • fname – name – required
  • lname – surname – required
  • email – required
  • phone – phone number +XXX XXXXXXXXX
  • fax – fax number +XXX XXXXXXXXX
  • dic – VAT ID
  • addr_street – street address and house number – required
  • addr_city – city address – required
  • addr_zip – ZIP code – required
  • addr_country – country (two-letter ISO code, lowercase) – required
  • addr_state – state or region

SK Domains

When creating a contact for an SK domain, you can specify a name. Use the contact-check to check if the chosen name is available (not used, blocked, ..).

The contact name can only contain uppercase letters of the English alphabet, numbers, dashes and periods. The minimum length of the contact name is 5 characters, the maximum length is 16 characters. If you do not specify a name when creating a contact, the system will generate it automatically. The format of the automatically generated contact name is WEDOS-XXX-YYYY (where XXX is a combination of letters and numbers and YYYY is only digits).

In the contact detail, you can set:

  • cname – contact name (only when creating a new one); omit this parameter or leave blank it to generate a pseudo-random name)
  • company
  • fname – name – required
  • lname – surname – required
  • email – required
  • phone – phone number +XXX XXXXXXXXX
  • fax – fax number +XXX XXXXXXXXX
  • dic – VAT ID
  • addr_street – street address and house number – required
  • addr_city – city address – required
  • addr_zip – ZIP code – required
  • addr_country – country (two-letter ISO code, lowercase) – required
  • addr_state – state or region
  • ident_type – subject type, can be set only once (PERS = physical person, CORP = company)
  • ident – identification value (PERS = date of birth in RRRR-MM-DD format, CORP = company ID)
  • disclose_name – hide name
  • disclose_org – hide company name
  • disclose_addr – hide adsress
  • disclose_phone – hide phone
  • disclose_fax – hide fax
  • disclose_email – hide email address

PL Domains

When creating a PL contact, you cannot specify its name. The system always assigns it automatically.

In the contact detail, you can set:

  • company
  • fname – name, cannot be changed for legal_type = individual – required
  • lname – surname, cannot be changed for legal_type = individual – required
  • email – required
  • phone – phone number +XXX XXXXXXXXX
  • fax – fax number +XXX XXXXXXXXX
  • dic – VAT ID
  • addr_street – street address and house number – required
  • addr_city – city address – required
  • addr_zip – ZIP code – required
  • addr_country – country (two-letter ISO code, lowercase) – required
  • addr_state – state or region
  • legal_type – legal type (company, individual), cannot be changed – required

gTLD and nTLD Domains

When creating a contact for gTLD and nTLD domains, you cannot specify its name, the system creates it automatically.

In the contact detail, you can set:

  • company
  • fname – name – required
  • lname – surname – required
  • email – required
  • phone – phone number +XXX XXXXXXXXX
  • fax – fax number +XXX XXXXXXXXX
  • dic – VAT ID
  • addr_street – street address and house number – required
  • addr_city – city address – required
  • addr_zip – ZIP code – required
  • addr_country – country (two-letter ISO code, lowercase) – required
  • addr_state – state or region

contact-check

Use the contact-check request to verify the availability of a contact name.

Parameters

  • tld – TLD to create the contact for (e.g. eu)
  • cname – contact name

Return Values

  • 1000 – contact is free and can be used
  • 2201 – invalid TLD
  • 2216 – invalid contact format
  • 2218 – name is generated automatically (for some TLD can not specify a contact name)
  • 3231 – contact already exists
  • 3233 – contact cannot be used
  • 3234 – contact cannot be used – in quarantine
  • 3235 – contact cannot be used – reserved
  • 3236 – contact cannot be used – blocked
  • 4211 – verification failed – communication error, repeat the command later

Response Data

The request returns no data.

Templates

JSON contact-check

JSON request:

{
  "request": {
    "user": "your@login.tld",
    "auth": "authentication string",
    "command": "contact-check",
    "clTRID": "your ID",
    "data": {
      "tld": "tld",
      "cname": "contact id"
    }
  }
}
JSON response (OK):
{
  "response": {
    "code": 1000,
    "result": "OK",
    "timestamp": "UTF timestamp",
    "clTRID": "your ID",
    "svTRID": "server ID",
    "command": "contact-check"
  }
}

contact-info

The contact-info command returns detailed information about a contact.

CZ domains use a system of AUTH-IDs that are used to uncover hidden items in a contact. Anyone can make the contact-info for any existing contact, but the hidden information only appears if a valid AUTH-ID is passed. The system records the contact creator, or whoever entered a valid AUTH-ID, and makes the information available to them without the need to pass the AUTH-ID repeatedly.

Parameters

  • tld – TLD
  • cname – contact name
  • auth_info – contact AUTH-ID – optional (if the domain supports it, entering the AUTH-ID will reveal the contact’s hidden data)

Return Values

  • 1000 – contact Information received successfully
  • 2201 – invalid TLD
  • 2216 – invalid contact syntax 
  • 3228 – unsupported value
  • 3229 – error loading contact
  • 4212 – connection error

Response Data

If successful (code 1000), the command returns information about the contact in the contact node.

Templates

JSON contact-info

JSON request:

{
  "request": {
    "user": "your@login.tld",
    "auth": "authentication string",
    "command": "contact-info",
    "clTRID": "your ID",
    "data": {
      "tld": "cz",
      "cname": "contact id"
    }
  }
}
JSON response (OK):
{
  "response": {
    "code": 1000,
    "result": "OK",
    "timestamp": "UTF timestamp",
    "clTRID": "your ID",
    "svTRID": "server ID",
    "command": "contact-info",
    "data": {
      "contact": {
        "contact_id": "contact id",
        "status": "status",
        "name": "name and surname",
        "company": "company",
        "addr_street": "street and number",
        "addr_city": "city",
        "addr_zip": "zip code",
        "addr_state": "state or region",
        "addr_country": "country iso code",
        "phone": "full phone number",
        "email": "email",
        "fax": "full fax number",
        "reg_owner": "",
        "reg_creator": "",
        "reg_update": "",
        "created_date": "YYYY-MM-DD hh:mm:ss",
        "updated_date": "YYYY-MM-DD hh:mm:ss",
        "transfer_date": "YYYY-MM-DD hh:mm:ss",
        "fname": "name",
        "lname": "surname",
        "email2": "",
        "ic": "company id",
        "dic": "vat id",
        "taxpayer": "",
        "disclose": "",
        "other": {
          "notify_email": "",
          "ident_type": "",
          "ident": ""
        }
      }
    }
  }
}

contact-create

Use the contact-create request to create a new contact that you can use with your domains registered with the corresponding registry. Each contact is identified by its name, which is always unique. You can find more information about working with contacts with individual registries in the chapter Domain Contact Management for Individual Registries.

Parameters

  • tld – domain TLD
  • contact – array of contact items:
    • cname – contact name (empty = generate automatically)
    • fname – name
    • lname – surname
    • company – company
    • addr_street – street and house number
    • addr_city – city
    • addr_zip – zip code
    • addr_state – state or region
    • addr_country – country (two-letter ISO code, lowercase)
    • phone
    • fax
    • email
    • other items depending on registry

Return Values

  • 1000 = contact was successfully created
  • 2201 = invalid tld
  • 2216 = invalid contact name
  • 2218 = contact name is automatically created
  • 2219 = not filled item company
  • 2220 = item name is not filled
  • 2221 = surname not filled 
  • 2222 = email not filled 
  • 2223 = email wrong format
  • 2224 = email2 not filled
  • 2225 = email2 wrong format
  • 2226 = phone not filled
  • 2227 = phone wrong format
  • 2228 = fax not filled
  • 2229 = fax wrong format 
  • 2230 = company ID not filled 
  • 2231 = company ID wrong format
  • 2232 = VAT number not filled
  • 2233 = VAT number wrong format
  • 2234 = street not filled
  • 2235 = city not filled
  • 2236 = ZIP not filled
  • 2237 = country not filled
  • 2238 = country wrong format
  • 2239 = state not filled
  • 2240 = other data not filled
  • 2241 = other data wrong format 
  • 3228 = domain does not work with contacts
  • 3230 = failed to create a contact
  • 3231 = contact name is already used
  • 3232 = contact can not be used – reason unknown
  • 3233 = contact can not be used
  • 3234 = contact can not be used – quarantined
  • 3235 = contact can not be used – reserved
  • 3236 = contact can not be used – blocked
  • 3237 = contact is already registered with us
  • 4211 = failed to check contact – communication error
  • 4213 = failed to create a contact – communication error

Response Data

The contact returns the following data:

  • cname – created contact name

Templates

JSON contact-create

JSON request:

{
  "request": {
    "user": "your@login.tld",
    "auth": "authentication string",
    "command": "contact-create",
    "clTRID": "your ID",
    "data": {
      "tld": "cz",
      "contact": {
        "fname": "name",
        "lname": "surname",
        "email": "email",
        "addr_street": "street and number",
        "addr_city": "city",
        "addr_zip": "zip code",
        "addr_country": "country ISO code",
        "phone": "full phone number",
        "notify_email": "notification email"
      }
    }
  }
}
JSON response (OK):
{
  "response": {
    "code": 1000,
    "result": "OK",
    "timestamp": "UTF timestamp",
    "clTRID": "your ID",
    "svTRID": "server ID",
    "command": "contact-create",
    "data": {
      "cname": "contact id"
    }
  }
}

contact-update

Use the contact-update request to edit contact entries.

Always enter all items.

You can find more information about working with contacts with individual registries in the chapter Domain Contact Management for Individual Registries.

Authorize all changes by entering the AUTH-ID (auth_info) if you do not have authorization set directly for your client account (this occurs after the first successful use of the AUTH-ID or when the contact is created through our system).

Parameters

  • tld – TLD
  • cname – contact name
  • auth_info – AUTH-ID
  • contact – contact items
    • fname – name
    • lname – surname
    • company
    • addr_street – street and number
    • addr_city – city
    • addr_zip – zip code
    • addr_state – state or region
    • addr_country – country (two-letter ISO code, lowercase)
    • phone
    • fax
    • email
    • other items according to registry

Return Values

  • 1000 = OK
  • 2201 = invalid TLD
  • 2207 = invalid syntax in contact name
  • 2216 = invalid contact name
  • 2219 = not filled item company
  • 2220 = not filled item name
  • 2221 = not filled item last name
  • 2222 = not filled item email
  • 2223 = wrong item format email
  • 2224 = not filled item email2
  • 2225 = wrong item format email2
  • 2226 = not filled item phone
  • 2227 = wrong item format phone
  • 2228 = not filled item fax
  • 2229 = wrong item format fax
  • 2230 = not filled item company ID
  • 2231 = wrong item format company ID
  • 2232 = not filled item VAT number
  • 2233 = wrong item format VAT number
  • 2234 = not filled item street
  • 2235 = not filled item city
  • 2236 = not filled item zip
  • 2237 = not filled item country
  • 2238 = wrong item format country
  • 2239 = not filled item state
  • 2240 = not filled item other data
  • 2241 = wrong item format v ostatních datech
  • 3211 = error – failed to retrieve contact
  • 3238 = authorization error
  • 3239 = operation failed
  • 4202 = unavailable contact – connection error, try again later
  • 4215 = implementation failed – connection error, try again later

Response Data

The request returns no data.

Templates

JSON contact-update

JSON příkaz:

{
  "request": {
    "user": "your@login.tld",
    "auth": "authentication string",
    "command": "contact-update",
    "clTRID": "your ID",
    "data": {
      "tld": "cz",
      "contact": {
        "fname": "name",
        "lname": "surname",
        "email": "email",
        "addr_street": "street and number",
        "addr_city": "city",
        "addr_zip": "zip code",
        "addr_country": "country ISO code",
        "phone": "full phone number",
        "notify_email": "email"
      }
    }
  }
}
JSON response (OK):
{
  "response": {
    "code": 1000,
    "result": "OK",
    "timestamp": "UTF timestamp",
    "clTRID": "your ID",
    "svTRID": "server ID",
    "command": "contact-update",
  }
}

contact-transfer

Use the contact-transfer request to transfer a contact from another registrar to WEDOS.

Only contacts of CZ domains support the transfer.

Parameters

  • tld – TLD
  • cname – contact name
  • auth_info – AUTH-ID

Return Values

  • 1000 = OK
  • 2201 = invalid TLD
  • 2215 = missing parameter auth_info
  • 2216 = invalid contact identifier  
  • 2244 = This domain does not support contact transfer 
  • 3229 = contact is not available
  • 3237 = contact is already registered with us
  • 3240 = authorization error
  • 3241 = failed to transfer
  • 4216 = failed – connection error

Response Data

The request returns no data.

Templates

JSON contact-transfer

JSON request:

{
  "request": {
    "user": "your@login.tld",
    "auth": "authentication string",
    "command": "contact-transfer",
    "clTRID": "your ID",
    "data": {
      "tld": "cz",
      "cname": "contact id",
      "auth_info": "auth-id"
    }
  }
}
JSON response (OK):
{
  "response": {
    "code": 1000,
    "result": "OK",
    "timestamp": "UTF timestamp",
    "clTRID": "your ID",
    "svTRID": "server ID",
    "command": "contact-transfer",
  }
}

contact-send-auth-info

Use the contact-send-auth-info request to send an email with the contact AUTH-ID.

Parameters

  • tld – TLD
  • cname – contact name

Return Values

  • 1000 = OK
  • 2201 = invalid TLD
  • 2216 = invalid contact name
  • 2243 = not allowed to send auth_info
  • 3213 = contact is unavailable
  • 3215 = failed to send auth-id
  • 3228 = contact is not supported for this domain
  • 4217 = sending failed – communication error

Response Data

The request returns no data.

Templates

JSON contact-send-auth-info

JSON request:

{
  "request": {
    "user": "your@login.tld",
    "auth": "authentication string",
    "command": "contact-send-auth-info",
    "clTRID": "your ID",
    "data": {
      "tld": "tld",
      "cname": "contact id",
    }
  }
}
JSON response (OK):
{
  "response": {
    "code": 1000,
    "result": "OK",
    "timestamp": "UTF timestamp",
    "clTRID": "your ID",
    "svTRID": "server ID",
    "command": "contact-send-auth-info",
  }
}

Děkujeme za zpětnou vazbu!