submit (bulk_change)
Submits a request to change information associated with a large set of domains. Can also be used to check the availability of a list of domains, renew multiple domains, or to push multiple domains to another reseller account.
You can submit the following bulk change requests with this API call: check availability, domain lock/unlock, renewals, nameserver modification, contact changes, enable/disable Parked Pages, enable WHOIS Privacy, and push domains to another reseller account. The following restrictions apply to the submit bulk_change API:
- Up to 10,000 domains can be affected in a single request.
- When submitting a large number of domains for a bulk change, there may be a delay of several minutes between when the request is submitted and when the request is visible in the RWI.
- If the reseller has not signed the end user access contract, owner and admin contacts sets are not updated as part of bulk change request.
- Up to 13 nameservers can be specified in the assign list when updating nameservers.
- Before you can push domains to another reseller account, you must add that reseller to your allow list through the RWI. Duplicate entries are eliminated from the change_items list.
- add_ns adds the nameserver to the current list while assign_ns replaces the current list with whatever nameservers are listed in the bulk change request.
Note:This command must be submitted to batch.opensrs.net; submissions to the live production pool (rr-n1-tor.opensrs.net) will fail.
Request parameters for submit (bulk_change)
Standard parameters
- action = submit
- object = bulk_change
Attributes
Parameters within the attributes associative array are described below.
Parameter name | Obligation | Definition/Value |
|---|---|---|
apply_to_all_reseller_items | Conditional, can only be used if change_items is not used. | Applies the bulk change to all domains in the reseller's account. |
| ||
apply_to_locked_domains | Optional | Applies the bulk change to locked as well as unlocked domains. |
| ||
change_items | Conditional, can only be used if applyto_all reseller_items is not used or equals 0. | List of domains to which to apply the bulk change. Maximum is 10,000 domains
|
change_type | Required | The type of bulk change to perform. Allowed values are:
|
contact_email | Optional | Email address to which send results.
|
For change_type = dns_zone
Attributes
Parameters within the attributes associative array are described below.
Parameter name | Obligation | Definition/Value |
|---|---|---|
apply_to_domains | Required | The type of domains to which you want to add, remove or reset the DNS service. Allowed values are:
|
dns_action | Required | The type of operation to perform. Allowed values are add, remove, or reset. |
dns_template | Optional | The template name. Only applies when dns_action = add or reset. |
only_if | Optional | Defines conditions that must be met in order to process the command. Only applies when the dns_action is reset or remove. The only allowed value is dns_template. |
force_dns_nameservers | Optional | Determines whether to change the nameservers on the domain to ns1.systemdns.com, ns2.systemdns.com, ns3.systemdns.com
|
For change_type = dns_zone_record
Attributes
Parameters within the attributes associative array are described below.
Parameter name | Obligation | Definition/Value |
|---|---|---|
dns_action | Required | The type of operation to perform. Allowed values are add, remove or modify. |
dns_record_type | Required | The type of DNS record that you want to edit. Allowed values are A, AAAA, CNAME, MX, SRV, and TXT. |
dns_record_data | Required only if dns_action = add or modify. | The fields that apply to the specified dns_record_type. MUST ADD CHART |
only_if | Optional. Can only be used if dns_action = modify or remove. | Defines conditions that must be met in order to process the command. For example, you could set the condition to update records only if the ip_address is 222.222.222.222. |
For change_type = domain_contacts
Attributes
Parameters within the attributes associative array are described below.
Parameter name | Obligation | Definition/Value |
|---|---|---|
contacts | Required | List of 1 – 4 contact sets. Each set must be a hash reference with two keys. Values include the type and set keys |
set | Required | Array of contact details. |
type | type Required | Type of contact. Allowed values are billing and tech. |
For change_type = domain_forwarding
Attributes
Parameters within the attributes associative array are described below.
Parameter name | Obligation | Definition/Value |
|---|---|---|
change_items | Required | The list of domains to which domain forwarding is either added or removed. |
op_type | Required | The type of operation to perform. Allowed values are add or remove. |
For change_type = domain_lock
(Available for .COM, .NET, .ORG, .INFO, .BIZ, .NAME, .ME, .MOBI, .ASIA, .CC, .CO, .TV, and .US.)
Attributes
Parameters within the attributes associative array are described below.
Parameter name | Obligation | Definition/Value |
|---|---|---|
Definition/Value | Required | The type of operation to perform. Allowed values are lock or unlock. |
For change_type = domain_nameservers
(Available for .COM, .NET, .ORG, .INFO, .BIZ, .NAME, .MOBI, .ASIA, .AT, .BE, .CA, .CC, .CH, .CN, .CO, .DE, .DK, .ES, .EU, .FR, .IT, .ME, .MX, .NL, .TV, .UK, and .US)
Attributes
Parameters within the attributes associative array are described below.
Parameter name | Parameter name | Definition/Value |
|---|---|---|
add_ns | Conditional, can only be used if op_type = add_remove | Nameserver(s) to add to the current list of nameservers. |
assign_ns | Conditional, can only be used if op_type = assign | List of new nameservers. Current nameservers are replaced with nameservers in the assign_ns list. |
op_type | Required | The type of operation to perform. Allowed values are add_remove or assign. |
remove_ns | Conditional, can only be used if op_type = add_remove | Nameservers to remove from the current list of nameservers. |
For change_type = domain_parked_pages
(Available for .COM, .NET, .ORG, .INFO, .BIZ, .MOBI, .NAME, .ASIA, .BE, .BZ, .CA, .CC, .CO, .EU, .IN, .ME, .NL, .TV, .UK, .US, .WS and .XXX)
Attributes
Parameters within the attributes associative array are described below.
Parameter name | Obligation | Definition/Value |
|---|---|---|
op_type | Required | The type of operation to perform. Allowed values are enable or disable. |
For change_type = domain_profile
Attributes
Parameters within the attributes associative array are described below.
Parameter name | Obligation | Definition/Value |
|---|---|---|
attach_to_domain | Required for new profile | Attaches profile to domain. |
change_items | Required | The list of domains to which domain forwarding is either added or removed. |
op_type | Required | The type of operation to perform. Allowed values are new or existing. |
password | Required for existing profile | Registrant password. If specified, this value will be used for the new registration; otherwise the original password will be used. |
username | Required for existing profile | Registrant username. If specified, this value will be used for the new registration; otherwise the original username will be used. |
For change_type = domain_renew
(Available for .COM, .NET, .ORG, .INFO, .BIZ, .NAME, .MOBI, .ASIA, .AT, .BE, .CA, .CC, .DH, .CN, .CO, .DE, .DK, .ES, .EU, .FR, .IT, .ME, .MX, .NL, .TV, .UK, and .US)
Note:You must specify at least one of these parameters: let_expire, auto_renew, or period.
Attributes
Parameters within the attributes associative array are described below.
Parameter name | Obligation | Definition/Value |
|---|---|---|
affiliate_id | Optional | The unique identifier of your reseller affiliate |
auto_renew | Optional | Changes the setting of the auto renew flag for the domain. If not specified, the current setting applies.
|
let_expire | Optional | Changes the status of the let expire flag. If not specified, the current setting applies.
|
period | Optional | The renewal term. Valid values are 0 to 10, depending on terms allowed for the TLD. If not specified, domain is not renewed. |
For change_type = push_domains
Attributes
Parameters within the attributes associative array are described below.
Parameter name | Parameter name | Definition/Value |
|---|---|---|
change_items | Required | The list of domains to push to another reseller account. |
gaining_reseller_username | Required | The name of the reseller that will be receiving the pushed domains. |
contact_email | Optional | The email address to send the results of the request. |
For change_type = storefront_managed
Attributes
Parameters within the attributes associative array are described below.
Parameter name | Obligation | Definition/Value |
|---|---|---|
Definition/Value | Required | The type of operation to perform. Allowed values are
|
For change_type = whois_privacy
(Available for .COM, .NET, .ORG, .INFO, .BIZ, .NAME, .MOBI, .CC, .CO, .ME, and .TV)
Attributes
Parameters within the attributes associative array are described below.
Parameter name | Obligation | Definition/Value |
|---|---|---|
op_type | Required | The type of operation to perform. Allowed values are enable or disable. |
Response parameters for submit (bulk_change)
Standard parameters
- action = reply
- object = bulk_change
- is_success = a Boolean is returned, indicating success or failure of the
request - response_code = response code indicating outcome of the request
- response_text = message describing the outcome of the request
Attributes
If the request is successful, the attributes associative array may include the
following:
Parameter name | Obligation | Definition/Value |
|---|---|---|
bulk_change_req_id | Returned if | An ID generated by the system. |
Examples for submit (bulk_change)
Request
<?xml version='1.0' encoding='UTF-8' standalone='no'?>
<!DOCTYPE OPS_envelope SYSTEM 'ops.dtd'>
<OPS_envelope>
<header>
<version>0.9</version>
</header>
<body>
<data_block>
<dt_assoc>
<item key="protocol">XCP</item>
<item key="action">submit</item>
<item key="object">bulk_change</item>
<item key="attributes">
<dt_assoc>
<item key="change_type">availability_check</item>
<item key="change_items">
<dt_array>
<item key="0">bulkrenewtest3.com</item>
<item key="1">bulkrenewtest4.com</item>
</dt_array>
</item>
<item key="contact_email">[email protected]</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope><?xml version='1.0' encoding="UTF-8" standalone="no"?>
<!DOCTYPE OPS_envelope SYSTEM "ops.dtd">
<OPS_envelope>
<header>
<version>0.9</version>
</header>
<body>
<data_block>
<dt_assoc>
<item key="protocol">XCP</item>
<item key="object">BULK_CHANGE</item>
<item key="action">SUBMIT</item>
<item key="attributes">
<dt_assoc>
<item key="change_type">dns_zone</item>
<item key="force_dns_nameservers">1</item>
<item key="apply_to_domains">not_using_dns_nameservers</item>
<item key="dns_template">template_3</item>
<item key="dns_action">add</item>
<item key="change_items">
<dt_array>
<item key="0">dnstestingthing1.com</item>
<item key="1">dnstestingthing2.com</item>
</dt_array>
</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope><?xml version='1.0' encoding="UTF-8" standalone="no"?>
<!DOCTYPE OPS_envelope SYSTEM "ops.dtd">
<OPS_envelope>
<header>
<version>0.9</version>
</header>
<body>
<data_block>
<dt_assoc>
<item key="protocol">XCP</item>
<item key="object">BULK_CHANGE</item>
<item key="action">SUBMIT</item>
<item key="attributes">
<dt_assoc>
<item key="dns_record_type">cname</item>
<item key="change_type">dns_zone_record</item>
<item key="dns_action">add</item>
<item key="change_items">
<dt_array>
<item key="0">dnstestingthing1.com</item>
<item key="1">dnstestingthing2.com</item>
</dt_array>
</item>
<item key="dns_record_data">
<dt_assoc>
<item key="subdomain">www</item>
<item key="hostname">example.com</item>
</dt_assoc>
</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope><?xml version='1.0' encoding="UTF-8" standalone="no"?>
<!DOCTYPE OPS_envelope SYSTEM "ops.dtd">
<OPS_envelope>
<header>
<version>0.9</version>
</header>
<body>
<data_block>
<dt_assoc>
<item key="protocol">XCP</item>
<item key="object">BULK_CHANGE</item>
<item key="action">SUBMIT</item>
<item key="attributes">
<dt_assoc>
<item key="change_type">dns_zone</item>
<item key="force_dns_nameservers">1</item>
<item key="apply_to_domains">using_dns_ameservers</item>
<item key="dns_template">template_2</item>
<item key="dns_action">reset</item>
<item key="change_items">
<dt_array>
<item key="0">dnstestingthing1.com</item>
<item key="1">dnstestingthing2.com</item>
</dt_array>
</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope><?xml version='1.0' encoding="UTF-8" standalone="no"?>
<!DOCTYPE OPS_envelope SYSTEM "ops.dtd">
<OPS_envelope>
<header>
<version>0.9</version>
</header>
<body>
<data_block>
<dt_assoc>
<item key="protocol">XCP</item>
<item key="object">BULK_CHANGE</item>
<item key="action">SUBMIT</item>
<item key="attributes">
<dt_assoc>
<item key="dns_record_type">cname</item>
<item key="change_type">dns_zone_record</item>
<item key="dns_action">modify</item>
<item key="change_items">
<dt_array>
<item key="0">dnstestingthing1.com</item>
<item key="1">dnstestingthing2.com</item>
</dt_array>
</item>
<item key="dns_record_data">
<dt_assoc>
<item key="hostname">mydomain.com</item>
</dt_assoc>
</item>
<item key="only_if">
<dt_assoc>
<item key="subdomain">www</item>
</dt_assoc>
</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope><?xml version='1.0' encoding="UTF-8" standalone="no"?>
<!DOCTYPE OPS_envelope SYSTEM "ops.dtd">
<OPS_envelope>
<header>
<version>0.9</version>
</header>
<body>
<data_block>
<dt_assoc>
<item key="protocol">XCP</item>
<item key="object">BULK_CHANGE</item>
<item key="action">SUBMIT</item>
<item key="attributes">
<dt_assoc>
<item key="dns_record_type">cname</item>
<item key="change_type">dns_zone_record</item>
<item key="dns_action">remove</item>
<item key="change_items">
<dt_array>
<item key="0">dnstestingthing1.com</item>
<item key="1">dnstestingthing2.com</item>
</dt_array>
</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope><?xml version='1.0' encoding="UTF-8" standalone="no"?>
<!DOCTYPE OPS_envelope SYSTEM "ops.dtd">
<OPS_envelope>
<header>
<version>0.9</version>
</header>
<body>
<data_block>
<dt_assoc>
<item key="protocol">XCP</item>
<item key="object">BULK_CHANGE</item>
<item key="action">SUBMIT</item>
<item key="attributes">
<dt_assoc>
<item key="change_type">domain_forwarding</item>
<item key="op_type">add</item>
<item key="change_items">
<dt_array>
<item key="0">examplething1.com</item>
<item key="1">examplething2.com</item>
</dt_array>
</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope><?xml version='1.0' encoding='UTF-8' standalone='no'?>
<!DOCTYPE OPS_envelope SYSTEM 'ops.dtd'>
<OPS_envelope>
<header>
<version>0.9</version>
</header>
<body>
<data_block>
<dt_assoc>
<item key="protocol">XCP</item>
<item key="action">submit</item>
<item key="object">bulk_change</item>
<item key="attributes">
<dt_assoc>
<item key="change_type">domain_lock</item>
<item key="change_items">
<dt_array>
<item key="0">example.com</item>
<item key="1">example.info</item>
</dt_array>
</item>
<item key="op_type">lock</item>
<item key="contact_email">[email protected]</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope><?xml version='1.0' encoding='UTF-8' standalone='no'?>
<!DOCTYPE OPS_envelope SYSTEM 'ops.dtd'>
<OPS_envelope>
<header>
<version>0.9</version>
</header>
<body>
<data_block>
<dt_assoc>
<item key="protocol">XCP</item>
<item key="action">submit</item>
<item key="object">bulk_change</item>
<item key="attributes">
<dt_assoc>
<item key="change_type">domain_nameservers</item>
<item key="change_items">
<dt_array>
<item key="0">example.com</item>
<item key="1">example.info</item>
</dt_array>
</item>
<item key="assign_ns">
<dt_array>
<item key="0">ns1.domain.com</item>
<item key="1">ns2.domain.com</item>
<item key="2">ns3.domain.com</item>
</dt_array>
</item>
<item key="op_type">assign</item>
<item key="apply_to_locked_domains">1</item>
<item key="contact_email">[email protected]</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope><?xml version='1.0' encoding='UTF-8' standalone='no'?>
<!DOCTYPE OPS_envelope SYSTEM 'ops.dtd'>
<OPS_envelope>
<header>
<version>0.9</version>
</header>
<body>
<data_block>
<dt_assoc>
<item key="protocol">XCP</item>
<item key="action">submit</item>
<item key="object">bulk_change</item>
<item key="attributes">
<dt_assoc>
<item key="change_type">domain_contacts</item>
<item key="apply_to_locked_domains">0</item>
<item key="change_items">
<dt_array>
<item key="0">example.com</item>
<item key="1">example.info</item>
</dt_array>
</item>
<item key="contacts">
<dt_array>
<item key="0">
<dt_assoc>
<item key="type">billing</item>
<item key="set">
<dt_assoc>
<item key="first_name">John</item>
<item key="last_name">Doe</item>
<item key="address3" />
<item key="fax" />
</dt_assoc>
</item>
</dt_assoc>
</item>
<item key="1">
<dt_assoc>
<item key="type">tech</item>
<item key="set">
<dt_assoc>
<item key="first_name">Mark</item>
<item key="last_name">Doe</item>
<item key="address1">123 Main
St.</item>
</dt_assoc>
</item>
</dt_assoc>
</item>
</dt_array>
</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope><?xml version='1.0' encoding='UTF-8' standalone='no'?>
<!DOCTYPE OPS_envelope SYSTEM 'ops.dtd'>
<OPS_envelope>
<header>
<version>0.9</version>
</header>
<body>
<data_block>
<dt_assoc>
<item key="protocol">XCP</item>
<item key="action">submit</item>
<item key="object">bulk_change</item>
<item key="attributes">
<dt_assoc>
<item key="change_items">
<dt_array>
<item key="0">example.com</item>
<item key="1">example.info</item>
</dt_array>
</item>
<item key="contact_email">[email protected]</item>
<item key="change_type">domain_parked_pages</item>
<item key="op_type">enable</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope><?xml version='1.0' encoding="UTF-8" standalone="no"?>
<!DOCTYPE OPS_envelope SYSTEM "ops.dtd">
<OPS_envelope>
<header>
<version>0.9</version>
</header>
<body>
<data_block>
<dt_assoc>
<item key="protocol">XCP</item>
<item key="object">BULK_CHANGE</item>
<item key="action">SUBMIT</item>
<item key="attributes">
<dt_assoc>
<item key="change_type">domain_profile</item>
<item key="attach_to_domain">abc.com</item>
<item key="op_type">existing</item>
<item key="change_items">
<dt_array>
<item key="0">abcdefg.com</item>
<item key="1">hijklmn.com</item>
</dt_array>
</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope><?xml version='1.0' encoding='UTF-8' standalone='no'?>
<!DOCTYPE OPS_envelope SYSTEM 'ops.dtd'>
<OPS_envelope>
<header>
<version>0.9</version>
</header>
<body>
<data_block>
<dt_assoc>
<item key="protocol">XCP</item>
<item key="action">submit</item>
<item key="object">bulk_change</item>
<item key="attributes">
<dt_assoc>
<item key="change_type">domain_renew</item>
<item key="change_items">
<dt_array>
<item key="0">example1.com</item>
<item key="1">example2.com</item>
</dt_array>
</item>
<item key="affiliate_id">myaffiliate</item>
<item key="let_expire">0</item>
<item key="period">2</item>
<item key="auto_renew">0</item>
<item key="contact_email">[email protected]</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope><?xml version='1.0' encoding='UTF-8' standalone='no'?>
<!DOCTYPE OPS_envelope SYSTEM 'ops.dtd'>
<OPS_envelope>
<header>
<version>0.9</version>
</header>
<body>
<data_block>
<dt_assoc>
<item key="protocol">XCP</item>
<item key="action">submit</item>
<item key="object">bulk_change</item>
<item key="attributes">
<dt_assoc>
<item key="change_items">
<dt_array>
<item key="0">example.com</item>
<item key="1">example.info</item>
</dt_array>
</item>
<item key="contact_email">[email protected]</item>
<item key="change_type">whois_privacy</item>
<item key="op_type">enable</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope><?xml version='1.0' encoding='UTF-8' standalone='no'?>
<!DOCTYPE OPS_envelope SYSTEM 'ops.dtd'>
<OPS_envelope>
<header>
<version>0.9</version>
</header>
<body>
<data_block>
<dt_assoc>
<item key="protocol">XCP</item>
<item key="action">submit</item>
<item key="object">bulk_change</item>
<item key="attributes">
<dt_assoc>
<item key="change_type">push_domains</item>
<item key="change_items">
<dt_array>
<item key="0">bulkrenewtest3.com</item>
<item key="1">bulkrenewtest4.com</item>
</dt_array>
</item>
<item key="gaining_reseller_username">orange</item>
<item key="contact_email">[email protected]</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope><?xml version='1.0' encoding="UTF-8" standalone="no"?>
<!DOCTYPE OPS_envelope SYSTEM "ops.dtd">
<OPS_envelope>
<header>
<version>0.9</version>
</header>
<body>
<data_block>
<dt_assoc>
<item key="protocol">XCP</item>
<item key="action">submit</item>
<item key="object">bulk_change</item>
<item key="attributes">
<dt_assoc>
<item key="change_type">storefront_managed</item>
<item key="op_type">move_to_storefront</item>
<item key="contact_email">[email protected]</item>
<item key="change_items">
<dt_array>
<item key="0">comcompliance2.com</item>
<item key="1">comcompliance3.com</item>
</dt_array>
</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>Response
<?xml version='1.0' encoding='UTF-8' standalone='no'?>
<!DOCTYPE OPS_envelope SYSTEM 'ops.dtd'>
<OPS_envelope>
<header>
<version>0.9</version>
</header>
<body>
<data_block>
<dt_assoc>
<item key="protocol">XCP</item>
<item key="action">reply</item>
<item key="object">bulk_change</item>
<item key="response_text">Command successfully submitted for processing</item>
<item key="is_success">1</item>
<item key="bulk_change_req_id">168</item>
<item key="response_code">200</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>Updated 4 days ago
