WAPI – Domains

  WAPI (API Interface)

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

This article provides information on the following requests:

domains-list

The domains-list request returns a list of all domains in the customer account and their status. It also returns the names of deleted domains. If a domain has more than one order assigned, the request will return it multiple times with the appropriate status (such as deleted).

Parameters

  • status – filter by status (optional)

Common domain states include:

  • fee_waiting – awaiting payment
  • setup_processing – creation in progress
  • active
  • renew_processing – renewal in progress
  • expired
  • disabled
  • canceled
  • transfer_fee_waiting – awaiting transfer payment
  • transfer_processing – transfer from another registrar in progress
  • deleted

Return Values

  • 1000 – OK

Response Data

The domains-list command returns a list of domains, in which each domain contains the following entries:

  • name – domain name
  • status – domain status

Templates

JSON domains-list

JSON request:

{
  "request": {
    "user": "your@login.tld",
    "auth": "authentication string",
    "command": "domains-list",
    "clTRID": "your ID",
  }
}
JSON response (OK):
{
  "response": {
    "code": 1000,
    "result": "OK",
    "timestamp": "UTF timestamp",
    "clTRID": "your ID",
    "svTRID": "server ID",
    "command": "domains-list",
    "data": {
      "domain": {
        "1": {
          "name": "domain1.tld",
          "status": "status"
         },
         "0": {
          "name": "domain2.tld",
          "status": "status"
        }
      }
    }
  }
}

domain-check

Use the domain-check request to verify whether we can register a domain.

The domain-check requset is subject to the limit of 100 domain queries per hour.

We cannot register some domains, even though they do not currently exist. Names may be reserved, blocked, or their registration may be restricted in some other way. It always depends on the specific registry, its rules, or ongoing disputes.

Parameters

  • name – domain name without www – required

Return Values

  • 1000 – domain is available for registration
  • 3201 – domain name is already used
  • 3204 – domain is quarantined
  • 3205 – domain is reserved
  • 3206 – domain name is blocked

Response Data

This request does not return any data other than the return value.

Templates

JSON domain-check

JSON příkaz:

{
  "request": {
    "user": "your@login.tld",
    "auth": "authentication string",
    "command": "domain-check",
    "clTRID": "your ID",
    "data": {
      "name": "vaše doména bez www"
    }
  }
}
JSON response (OK):
{
  "response": {
    "code": 1000,
    "result": "OK",
    "timestamp": "UTF timestamp",
    "clTRID": "your ID",
    "svTRID": "server ID",
    "command": "domain-check"
  }
}

domain-create

Use the domain-create request to register a new domain. The request is either synchronous or asynchronous, depending on the domain TLD.

The domain-create requset is subject to the limit of 100 domain queries per hour.

For all domains, we and the registry require the domain owner’s consent to the domain name registration rules. Our terms and conditions require you to familiarize your customers with our terms and conditions and the terms of the domain registrar! Failure to do so may result in the domain being taken down without compensation in the event of a dispute.

Parameters

  • name – domain name including TLD – required
  • period – number of years – required
  • dns or nsset – a list of DNS servers or NSSET (CZ domains only) – required
  • owner_c – owner contact ID – required
  • admin_c – admin contact ID – optional
  • rules – name and surname of the person who agreed to our terms and conditions and the terms of the registry (typically the domain owner)

Possible dns parameter values:

  • Empty dns parameter value – use default value (WEDOS DNS servers). Attention, even if you leave the DNS parameter empty, you still have to specify it! The NSSET parameter must always contain a value (e.g. WEDOS).
  • Own DNS configuration – cannot be used for CZ domains (each record must contain a name field, optionally addr_ip4 and addr_ip6, individual servers are nested in the server element). See template for details.

Return Values

  • 1000 – domain has been successfully registered
  • 1001 – asynchronous registration request accepted
  • 3002 – insufficient credit on credit account
  • 3201 – domain name is already used
  • 3204 – domain is quarantined
  • 3205 – domain is reserved
  • 3206 – domain name is blocked
  • 2201 – unsupported TLD
  • 2203 – invalid period
  • 3221 – creation failed
  • 4207 – creation failed – connection error

Response Data

After successful domain registration, the following items are returned in the data node:

  • num – order number
  • expiration – domain expiration date
  • credit – credit account status after the operation is completed
    • amount – credit account balance
    • currency – currency

Templates

JSON domain-create with WEDOS NSSET

JSON request:

{
  "request": {
    "user": "your@login.tld",
    "auth": "authentication string",
    "command": "domain-create",
    "clTRID": "your ID",
    "data": {
      "name": "domain.cz",
      "period": "number of years",
      "nsset": "WEDOS",
      "owner_c": "owner contact ID",
      "admin_c": "admin contact ID",
      "rules": {
        "fname": "Name",
        "lname": "Surname"
      }
    }
  }
}
JSON odpověď (OK):
{
  "response": {
    "code": 1000,
    "result": "OK",
    "timestamp": "UTF timestamp",
    "clTRID": "your ID",
    "svTRID": "server ID",
    "command": "domain-create",
    "data": {
      "num": "order number",
      "expiration": "YYYY-MM-DD"
    }
  }
}

JSON domain-create with own DNS

JSON request:

{
  "request": {
    "user": "your@login.tld",
    "auth": "authentication string",
    "command": "domain-create",
    "clTRID": "your ID",
    "data": {
      "name": "domain.tld",
      "period": "number of years",
      "dns": {
        "server1":
          {
            "name": "ns1.dns-provider.tld"
          },
        "server2":
          {
            "name": "ns2.dns-provider.tld"
          }
        }
      },
      "owner_c": "domain owner contact ID",
      "admin_c": "domain admin contact ID",
      "rules": {
        "fname": "Name",
        "lname": "Surname"
      }
    }
  }
}
JSON response (OK):
{
  "response": {
    "code": 1000,
    "result": "OK",
    "timestamp": "UTF timestamp",
    "clTRID": "your ID",
    "svTRID": "server ID",
    "command": "domain-create",
    "data": {
      "num": "order number",
      "expiration": "YYYY-MM-DD"
    }
  }
}

domain-info

Use the domain-info request to obtain information about a specific domain.

The command only works on domains in the corresponding customer account.

Parameters

  • name – domain name without www – required

Return Values

  • 1000 – command was successful, element data contains informations about domain
  • 3222 – failed to retrieve the domain object 
  • 3216 – failed to retrieve information about domain
  • 3223 – domain does not belong to your customer account
  • 4205 – error in connection with the registry

Response Data

The data element contains information about the domain if successful. The specific data depends on the domain type and other circumstances. Here are the most important ones:

  • name – domain name
  • status – domain status
  • owner_c – domain owner’s ID
  • setup_date – date of creation
  • expiration – expiration date
  • dns or NSSET – DNS server list or NSSET
  • items with own_ prefix – domain owner information

Some information about the domain or its owner may be hidden; in which case they have the value HIDDEN.

Templates

JSON domain-info

JSON request:

{
  "request": {
    "user": "your@login.tld",
    "auth": "authentication string",
    "command": "domain-info",
    "clTRID": "your ID",
    "data": {
      "name": "domain.tld"
    }
  }
}
JSON response (OK):
{
  "response": {
    "code": 1000,
    "result": "OK",
    "timestamp": "UTF timestamp",
    "clTRID": "your ID",
    "svTRID": "server ID",
    "command": "domain-info",
    "data": {
      "domain": {
        "name": "domain.tld",
        "status": "status",
        "owner_c": "owner ID",
        "nsset": "WEDOS",
        "reg_owner": "",
        "reg_creator": "",
        "setup_date": "YYYY-MM-DD",
        "expiration": "YYYY-MM-DD",
        "reg_update": "",
        "updated_date": "",
        "transfer_date": "",
        "dns": {
          "server1":
            {
              "name": "ns1.server-provider.tld"
            },
          "server2":
            {
              "name": "ns1.server-provider.tld"
            }
          }
        },
        "own_company": "",
        "own_name": "",
        "own_lname": "",
        "own_fname": "",
        "own_email": "",
        "own_email2": "",
        "own_phone": "",
        "own_fax": "",
        "own_ic": "",
        "own_dic": "",
        "own_taxpayer": "",
        "own_addr_street": "",
        "own_addr_city": "",
        "own_addr_zip": "",
        "own_addr_country": "",
        "own_addr_state": "",
        "admin_c": "",
        "own_other": {
          "notify_email": "",
          "ident_type": "",
          "ident": ""
        }
      }
    }
  }
}

domain-renew

The domain-renew request allows you to renew a domain that does not have an ordered renewal yet.

The system automatically renews domains 30 days before expiration. You can change the settings according to the instructions Administration – Service Behavior Upon Expiration.

Parameters

  • name – domain name – required
  • period – number of years to renew – required

Return Values

  • 1000 – Domain has been successfully renewed
  • 2203 – Invalid renewal period
  • 2269 – renewal request already exists

Response Data

If successful, this command returns the new expiration date.

  • expiration – new domain expiration date

Templates

JSON domain-renew

JSON request:

{
  "request": {
    "user": "your@login.tld",
    "auth": "authentication string",
    "command": "domain-renew",
    "clTRID": "your ID",
    "data": {
      "name": "vaše doména bez www",
      "period": "počet let prodloužení"
    }
  }
}
JSON response (OK):
{
  "response": {
    "code": 1000,
    "result": "OK",
    "timestamp": "UTF timestamp",
    "clTRID": "your ID",
    "svTRID": "server ID",
    "command": "domain-renew",
    "data": {
      "expiration": "YYYY-MM-DD"
    }
  }
}

domain-update-ns

Use the domain-update-ns request to change the domain’s DNS servers or NSSET.

Parameters

  • name – domain name – required
  • dns or nsset – DNS servers or NSSET for CZ domains – required

Possible dns parameter values:

  • Empty dns parameter value – use default value (WEDOS DNS servers). Attention, even if you leave the DNS parameter empty, you still have to specify it! The NSSET parameter must always contain a value (e.g. WEDOS).
  • Own DNS configuration – cannot be used for CZ domains (each record must contain a name field, optionally addr_ip4 and addr_ip6, individual servers are nested in the server element). See template for details.

Return Values

  • 1000 – DNS servers set successfully 
  • 2209 – invalid NSSET format (for CZ domains)
  • 2210 – invalid DNS server format

Response Data

The request returns no data.

Templates

JSON domain-update-ns with own DNS servers

JSON request:

{
  "request": {
    "user": "your@login.tld",
    "auth": "authentication string",
    "command": "domain-update-ns",
    "clTRID": "your ID",
    "data": {
      "name": "domain.tld",
      "dns": {
        "server1":
          {
            "name": "ns1.own-dns-server.tld"
          },
        "server2":
          {
            "name": "ns1.own-dns-server.tld"
          }
        }
      }
    }
  }  
}
JSON response (OK):
{
  "response": {
    "code": 1000,
    "result": "OK",
    "timestamp": "UTF timestamp",
    "clTRID": "your ID",
    "svTRID": "server ID",
    "command": "domain-update-ns",
  }
}

domain-transfer-check

Use the domain-transfer-check request to check whether the domain can be transfered from another registrar to us.

The domain-transfer-check requset is subject to the limit of 100 domain queries per hour.

Parameters

  • name – domain name without www – required

Return Values

The request typically returns the following values:

  • 1000 – Transfer is possible
  • 3217 – Failed to establish a connection with the registry
  • 3218 – Transfer is not possible

Response Data

The request returns no data.

Templates

JSON domain-transfer-check

JSON request:

{
  "request": {
    "user": "your@login.tld",
    "auth": "authentication string",
    "command": "domain-transfer-check",
    "clTRID": "your ID",
    "data": {
      "name": "domain.tld"
    }
  }
}
JSON odpověď (OK):
{
  "response": {
    "code": 1000,
    "result": "OK",
    "timestamp": "UTF timestamp",
    "clTRID": "your ID",
    "svTRID": "server ID",
    "command": "domain-transfer-check"
  }
}

domain-transfer

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

The request is synchronous only for CZ and EU domains, i.e. for them, if the AUTH-ID is correct, the transfer is carried out immediately and you know the result right away. For other domains, transfers are asynchronous, so you will find out the result through a notification.

The domain-transfer requset is subject to the limit of 100 domain queries per hour.

For all domains, we and the registry require the domain owner’s consent to the domain name registration rules. Our terms and conditions require you to familiarize your customers with our terms and conditions and the terms of the domain registrar! Failure to do so may result in the domain being taken down without compensation in the event of a dispute.

Parameters

  • name – domain name without www – required
  • auth_info – domain AUTH-ID – required
  • owner_c – domain owner ID – required only for some registries (SK, EU, gTLD)
  • dns – domain DNS server configuration – optional; available only for registries that support it (EU, gTLD)
  • rules – name and surname of the person who agreed to our terms and conditions and the terms of the registry (typically the domain owner) – required

Available values ​​of the dns parameter:

  • DNS parameter omitted – the domain will retain the current DNS server settings. During transfer, the current DNS servers will be resolved. If it is not possible to resolve the current DNS servers, the transfer may result in an error (gTLD).
  • Empty DNS parameter – the system will attempt to set default WEDOS DNS servers.
  • DNS parameter with servers – the system will attempt to set these DNS servers.

Return Values

  • 1000 – Domain successfully transferred
  • 1001 – Transfer request has been accepted, pending implementation
  • 2100 – Missing required parameter
  • 2101 – Invalid parameter value
  • 2201 – Invalid TLD
  • 2202 – Invalid domain name format
  • 2204 – Domain owner contact identifier not specified
  • 2207 – Invalid domain owner contact identifier
  • 2210 – Invalid DNS server format
  • 2215 – AUTH-ID has not been specified and is required for this domain
  • 2245 – Consent missing
  • 2246 – Consent data error
  • 2252 – Domain requests exceeded
  • 2263 – AUTH-ID is shorter than the required minimum length
  • 2271 – Invalid AUTH-ID format
  • 3001 – Invalid credit account currency
  • 3003 – Invalid credit account billing information
  • 3207 – Domain is already registered with us
  • 3208 – Transfer failed due to expiration date issue
  • 3217 – Could not establish a connection to the registry
  • 3218 – Transfer not possible
  • 3219 – Already pending transfer request for this domain
  • 3220 – Domain is already registered in our registry
  • 3226 – Failed to transfer domain
  • 3227 – Authorization error on domain registry
  • 3258 – Registry downtime
  • 3266 – Cannot be transfered because the domain is expired
  • 3267 – Authoritative DNS servers failed to resolve
  • 4002 – Failed to deduct credit from credit account
  • 4003 – Failed to create billing period
  • 4206 – Failed to determine if the domain can be transfered – connection error
  • 4209 – Failed to determine transfer type (with / without renewal)
  • 5001 – Internal login error
  • 5002 – Transfer price failed to be calculated
  • 5004 – Billing Downtime

Response Data

  • num – order number
  • expiration – domain expiration date

Templates

JSON domain-transfer with own DNS

JSON request:

{
  "request": {
    "user": "your@login.tld",
    "auth": "authentication string",
    "command": "domain-transfer",
    "clTRID": "your ID",
    "data": {
      "name": "domain.tld",
      "auth_info": "AUTH-ID",
      "dns": {
        "server1":
          {
            "name": "ns1.mydns.tld"
          },
        "server2":
          {
            "name": "ns2.mydns.tld"
          }
        }
      },
      "rules": {
        "fname": "Name",
        "lname": "Surname"
      }
   }
}
JSON response (OK):
{
  "response": {
    "code": 1000,
    "result": "OK",
    "timestamp": "UTF timestamp",
    "clTRID": "your ID",
    "svTRID": "server ID",
    "command": "domain-transfer",
    "data": {
      "num": "order number",
      "expiration": "YYYY-MM-DD"
    }
  }
}

domain-send-auth-info

Use the domain-send-auth-info request to send a domain’s AUTH-ID to the domain owner’s email.

Parameters

  • name – domain name – required
  • 1000 – AUTH-ID is sent to domain owner email 
  • 2243 – Not allowed to send auth_info
  • 3209 – Failed to send auth_info
  • 3210 – Failed to send auth_info – domain is unavailable
  • 3222 – Failed to retrieve domain
  • 3223 – Domain does not belong to this customer account
  • 4214 – Failed to send auth_info – connection error – try again later

Response Data

The request returns no data.

Templates

JSON domain-send-auth-info

JSON request:

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

domain-tld-period-check

Use the domain-tld-period-check request to see whether a certain registration period can be set for a TLD.

Parameters

  • tld – TLD
  • period – number of years

Return Values

  • 1000 – period can be used for this domain
  • 2203 –period cannot be used for this domain

Response Data

The request returns no data.

Templates

JSON domain-tld-period-check

JSON příkaz:

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

Děkujeme za zpětnou vazbu!