Skip to Main Content

Nominet

Log in to the online service
Log in to Online Services
Skip Primary Navigation
Skip All Secondary and Tertiary Navigation

Print this page  | Contact Us

The BULK operation is used to view or modify many domain names matching a given filter. It is a flexible method for maintaining large numbers of existing domain names in a single request.

Introduction

  • Send to the address auto-bulk@nic.uk.
  • Use the subject line TAG Bulk (replace TAG with your tag name in capitals)
  • Make sure the e-mail is PGP-signed with a registered PGP key.
  • Use one of the templates linked to below to construct the message body.

Operation Templates

The bulk operation is capable of a several different functions. This page gives details of common features, however details for specific types of operations are available from the following pages:

  • Bulk Select: Returns chosen fields for a list of domain names matching given filter.
  • Bulk Modify: Applies a given changeset to all domain names matching given filter.
  • Bulk Release: Releases to specified tag all domain names matching given filter.
  • Bulk Replace Nameserver: Replace all instances of one nameserver with another for all domain names matching given filter.

Bulk operations can only affect domain names on the requesting tag.

Syntax Overview

Only one bulk request per e-mail is permitted. A well-formed bulk request consists of the following lines, in any order:

Malformed requests will cause a V109 Invalid bulk operation error; where possible this will include a more detailed error message and give the line number of the error in the original request, e.g.

V109 Invalid bulk operation, error at line 3: mismatched bracket.

Dry-run

Bulk operations can also be executed as a Dry Run, which will return details of the outcome of the operation but will commit no changes to the register.

Filter Clauses

Filter clauses choose which domain names are affected by the operation, by providing criteria which domains must match. If no filter clause is given, the bulk operation will affect all domain names on the requesting tag.

  • Filter clauses have a syntax similar to WHERE-clauses in SQL. A single filter clause consists of a filter field, a comparison operator, and a single-quote-delimited 'rvalue'. For example
    filter: key = 'example.co.uk'

    will restrict the bulk operation to affect only the domain name 'example.co.uk'.

  • Permitted comparison operators are =, >, <, >=, <=, like, in. Date fields are in the format YYYYMMDD. For example
    filter: expiry > '20080101'

    will restrict the bulk operation to affect all domain names on the requesting tag with an expiry date later than 01 Jan 2008.

  • The LIKE comparison operator can be used to allow matches with the wildcard '%', which will match any number of characters or no character. For example
    filter: key like 'exam%e.co.uk'

    will restrict the bulk operation to affect all domain names on the requesting tag with names matching the search string 'exam%e.co.uk'; 'example.co.uk' will match, as will 'exame.co.uk', but 'exampl.co.uk' will not.

  • Multiple filter clauses can be combined by a logical AND or (inclusive) logical OR. For example
    filter: account-name = 'Mr Example' OR account-name = 'Mrs Example'

    will restrict the bulk operation to affect only domain names on the requesting tag with either account name 'Mr Example' or account name 'Mrs Example', whereas

    filter: account-name = 'Ms Example' AND notes = 'Example notes'

    will restrict the bulk operation to affect only domain names on the requesting tag with account name 'Ms Example' and notes field matching 'Example notes'.

  • The logical NOT can be used to negate a clause:
    filter: not key = 'example.co.uk'

    will restrict the bulk operation to affect all domain names on the requesting tag except for 'example.co.uk'.

  • Clauses can be grouped together using ( and ). For example
    filter: key like 'exam%e.co.uk' and not (account-name = 'Mr Example' OR account-name = 'Mrs Example')
  • will restrict the bulk operation to affect all domain names on the requesting tag with names matching the search string 'exam%e.co.uk' which have neither account name 'Mr Example' nor account name 'Mrs Example'.

  • Nameservers can be filtered in several ways. By specifying a list of 1-10 nameservers; matching domain names will have all of these nameservers and no others. For example
    filter: nservers = ['ns0.example.co.uk', 'ns1.example.co.uk']

    will restrict the bulk operation to affect all domain names on the requesting tag with 'ns0.example.co.uk' and 'ns1.example.co.uk' and no other nameservers.

    filter: nservers = 'NULL'

    will restrict the bulk operation to affect all domain names on the requesting tag with no nameservers.

    filter: 'ns0.example.co.uk' in nservers

    will restrict the bulk operation to affect all domain names on the requesting tag with nameserver 'ns0.example.co.uk' or any other (or no other) nameservers.

Filter fields

This is a table of the fields which can be used in filter clauses.

Filter Field Comparison operators Other notes
account-id =  
account-name =, like
auto-bill =
co-no =, like  
created =, >, <, >=, <= 'rvalue' must be a valid YYYYMMDD date.
email =, like  Attempts to match any e-mail address on the account.
expiry =, >, <, >=, <=  'rvalue' must be a valid YYYYMMDD date.
first-bill =  
key =, like
next-bill =  
nservers
=
Takes nameserver list as 'rvalue'; e.g. ['ns1.co.uk', 'ns2.co.uk'].
nservers in Takes nameserver as 'lvalue'; e.g. 'ns1.co.uk' in nservers.
notes =, like  
opt-out =  
recur-bill =  
reseller
=, like
trad-name =, like
type =, like  

Update Clauses

Update clauses specify the changeset to be applied to the domain names matching the filter clause. A bulk request must contain either an update or a select clause.

  • A single update clause consists of an update field = 'rvalue' statement. For example
    update: notes = 'Example notes'

    will modify all domain names matching the filter clause to have a notes field of 'Examples notes'.

  • Multiple update clauses can be combined in a comma-delimited list. For example
    update: first-bill = 'th', recur-bill = 'th'

    will modify all domain names matching the filter clause to have first-bill and next-bill fields with value 'th'.

Update fields

This is a table of the fields which can be used in update clauses.

Update Field Other Notes
account-id  
auto-bill  
first-bill  
next-bill  
notes  
nserver Takes two nameservers as 'lvalue' and 'rvalue'; e.g. 'ns1.co.uk' = 'ns2.co.uk'. Must be the only update clause.
nservers  Takes nameserver list as 'rvalue'; e.g. ['ns1.co.uk', 'ns2.co.uk'].
recur-bill
reseller

registrar-tag  

Select Clauses

Select clauses specify which fields are to be returned for the domain names matching the filter clause. A bulk request must contain either an update or a select clause.

Select fields

This is a list of the fields which can be used in select clauses.

Select Field
a1-email
a1-id
a1-mobile
a1-name
a1-phone
a2-email
a2-id
a2-mobile
a2-name
a2-phone
a3-email
a3-id
a3-mobile
a3-name
a3-phone
account-id
account-name
addr
auto-bill
city
changed
co-no
country
county
created
expiry
first-bill
key
locality
next-bill
notes
nservers
opt-out
postcode
recur-bill
registrar-tag
reseller
trad-name
type
 
 
 

© Nominet UK 1996-2010  |  Accessibility  |  Site Map  |  Feeds  |  Glossary  |  Privacy Policy  |  Terms of Use