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 nameObligationDefinition/Value
apply_to_all_reseller_itemsConditional, can only be used if change_items is not used.Applies the bulk change to all domains in the reseller's account.
0—Do not apply the change to all domains; instead, apply to the domains specified in the change_items parameter

1—Apply to all domains in the reseller's account. If this flag is set to 1, do not specify the change_items parameter.
apply_to_locked_domainsOptionalApplies the bulk change to locked as well as unlocked domains.
Note: this parameter cannot be used for bulk renewals.

0—Do not apply to locked domains; this is the default

1—Apply to locked domains
change_itemsConditional, 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

Note: If apply_to_all_reseller_items =1, do not include this parameter.
change_typeRequiredThe type of bulk change to perform.

Allowed values are:

availability_check—Check the registry, Premium Domains, and Personal Names for the availability of a list of domains and email a CSV file containing the results to the specified email address. The file indicates whether each name is available, and for Premium Names, it also specified the price of the domain name.

Note: when this value is specified, contact_email is required.

dns_zone—Add,removeor reset the DNS service for multiple domains.
Changes can be applied to all specified domains, to only domains with DNS service nameservers, or to domains that are not using DNS service nameservers. You can also change your nameservers to use the DNS service nameservers.
If a DNS template is not specified, a blank zone is applied.

dns_zone_record—Add, modify, or remove DNS records (A, CNAME, etc) from zones for multiple domains.

domain_contacts— Change
contact information for
multiple domains

domain_forwarding—Add or remove the domain forwarding service for multiple domains.

domain_lock—Lock or unlock multiple domains.

domain_nameservers— Add, remove, or assign Nameservers

domain_parked_pages— Enable or disable Parked Pages for multiple domains

domain_profile – merge user profiles by moving domains

domain_renew—Renew multiple domains in one request

push_domains—Move or 'push' domains from one

Note: Before you can push domains to another reseller, you need to add that reseller to your allow list in OpenSRS.

storefront_managed—Move domains from OpenSRS to Storefront or from Storefront to OpenSRS.

Important: When you move domains from Storefront to OpenSRS, any services that were enabled in Storefront (for example, domain forwarding or email forwarding) will be lost.

whois_privacy—Enable or disable WHOIS Privacy

* whois_publicity—Enable or disable WHOIS Publicity
contact_emailOptionalEmail address to which send results.

Note: If change_type = availability_check, this value is required.

For change_type = dns_zone

Attributes

Parameters within the attributes associative array are described below.

Parameter nameObligationDefinition/Value
apply_to_domainsRequiredThe type of domains to which you want to add, remove or reset the DNS service.

Allowed values are:
using_dns_nameservers
not_using_dns_nameservers
* all_selected_domains
dns_actionRequiredThe type of operation to perform.

Allowed values are add, remove, or reset.
dns_templateOptionalThe template name. Only applies when dns_action = add or reset.
only_ifOptionalDefines 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_nameserversOptionalDetermines whether to change the nameservers on the domain to ns1.systemdns.com, ns2.systemdns.com, ns3.systemdns.com

0—Do not change the nameservers

1—Change the nameservers

For change_type = dns_zone_record

Attributes

Parameters within the attributes associative array are described below.

Parameter nameObligationDefinition/Value
dns_actionRequiredThe type of operation to perform.

Allowed values are add, remove or modify.
dns_record_typeRequiredThe type of DNS record that you want to edit.

Allowed values are A, AAAA, CNAME, MX, SRV, and TXT.
dns_record_dataRequired only if dns_action = add or modify.The fields that apply to the specified dns_record_type.

MUST ADD CHART
only_ifOptional. 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 nameObligationDefinition/Value
contactsRequiredList of 1 – 4 contact sets. Each set must be a hash reference with two keys.

Values include the type and set keys
setRequiredArray of contact details.
typetype RequiredType of contact.

Allowed values are billing and tech.

For change_type = domain_forwarding

Attributes

Parameters within the attributes associative array are described below.

Parameter nameObligationDefinition/Value
change_itemsRequiredThe list of domains to which domain forwarding is either added or removed.
op_typeRequiredThe 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 nameObligationDefinition/Value
Definition/ValueRequiredThe 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 nameParameter nameDefinition/Value
add_nsConditional, can only be used if op_type = add_removeNameserver(s) to add to the current list of nameservers.
assign_nsConditional, can only be used if op_type = assignList of new nameservers. Current nameservers are replaced with nameservers in the assign_ns list.
op_typeRequiredThe type of operation to perform.

Allowed values are add_remove or assign.
remove_nsConditional, can only be used if op_type = add_removeNameservers 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 nameObligationDefinition/Value
op_typeRequiredThe 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 nameObligationDefinition/Value
attach_to_domainRequired for new profileAttaches profile to domain.
change_itemsRequiredThe list of domains to which domain forwarding is either added or removed.
op_typeRequiredThe type of operation to perform.

Allowed values are new or existing.
passwordRequired for existing profileRegistrant password. If specified, this value will be used for the new registration; otherwise the original password will be used.
usernameRequired for existing profileRegistrant 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 nameObligationDefinition/Value
affiliate_idOptionalThe unique identifier of your reseller affiliate
auto_renewOptionalChanges the setting of the auto renew flag for the domain. If not specified, the current setting applies.

0—Disable auto-renew

1—Enable auto-renew
let_expireOptionalChanges the status of the let expire flag. If not specified, the current setting applies.

0—Do not expire the domain silently

1—Expire the domain silently
periodOptionalThe 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 nameParameter nameDefinition/Value
change_itemsRequiredThe list of domains to push to another reseller account.
gaining_reseller_usernameRequiredThe name of the reseller that will be receiving the pushed domains.
contact_emailOptionalThe 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 nameObligationDefinition/Value
Definition/ValueRequiredThe type of operation to perform. Allowed values are
move_to_storefront—Move all of the specified domains from OpenSRS to Storefront

move_to_opensrs—Move all of the specified domains from Storefront to OpenSRS

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 nameObligationDefinition/Value
op_typeRequiredThe 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 nameObligationDefinition/Value
bulk_change_req_idReturned if
is_success = true
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>