Sie sind auf Seite 1von 989

OpenSRS API Specification for XML

October 3, 2014

Table of Contents
INTRODUCTION ......................................................................... 17
RESPONSE MESSAGES .................................................................... 17
SUBMITTING API COMMANDS WITHOUT END-USER CREDENTIALS
.................................................................................................. 18
REQUIRED PARAMETER.................................................................... 18
POTENTIAL ISSUES ........................................................................ 19
NOT PERMITTED: APPLY_TO_ALL FLAG .............................................. 19
INCORRECT CREDENTIALS ............................................................ 19
CONTACT SET ............................................................................. 20
EXAMPLES FOR CONTACT SET ............................................................. 21
DOMAIN CONTACTS ....................................................................... 23
DEFAULT CONTACT REQUIREMENTS.................................................. 29
EPP CONTACT REQUIREMENTS ....................................................... 30
.BE OWNER AND TECH CONTACT REQUIREMENTS .................................. 31
.CA OWNER, ADMIN, AND TECH CONTACT REQUIREMENTS ....................... 31
.DE ADMIN CONTACT REQUIREMENTS ............................................... 33
.DE OWNER CONTACT REQUIREMENTS .............................................. 33
.DE ZONE AND TECH CONTACT REQUIREMENTS .................................... 34
.ES POSTAL CODES ................................................................... 35
.EU OWNER AND TECH CONTACT REQUIREMENTS .................................. 36
.IT CONTACT REQUIREMENTS ........................................................ 37
.MX CONTACT REQUIREMENTS ....................................................... 39
.PRO CONTACT REQUIREMENTS ..................................................... 40
.UK TRANSFER-NO CHANGE-ADMIN CONTACT REQUIREMENTS ................... 40
.UK CONTACT REQUIREMENTS ....................................................... 41
TLD DATA ................................................................................. 42
.AERO REGISTRANT_EXTRA_INFO .................................................. 42
.ASIA CED_INFO ..................................................................... 43
.AU AU_REGISTRANT_INFO.......................................................... 44
.CL REGISTRANT_EXTRA_INFO ...................................................... 48
.COM.AR, .PT, AND .COM.PT REGISTRANT_EXTRA_INFO ..................... 49
.COM.BR TLD_DATA ................................................................. 49
.COOP REGISTRANT_EXTRA_INFO ................................................. 50
.DE REGISTRANT_EXTRA_INFO ..................................................... 50
.DK REGISTRANT_EXTRA_INFO ..................................................... 51
2

.FI. MY, AND .SG REGISTRANT_EXTRA_INFO .................................... 51


.FR REGISTRANT_EXTRA_INFO ...................................................... 52
.HK REGISTRANT_EXTRA_INFO ..................................................... 54
.HU, AND .CO.HU REGISTRANT_EXTRA_INFO.................................... 54
.IT IT_REGISTRANT_INFO............................................................ 55
.JOBS REGISTRANT_EXTRA_INFO .................................................. 57
.LV AND .COM.LV REGISTRANT_EXTRA_INFO.................................... 58
.MX, .COM.MX, AND .CO.ZA REGISTRANT_EXTRA_INFO ..................... 59
.NO REGISTRANT_EXTRA_INFO ..................................................... 59
.NYC REGISTRANT_EXTRA_INFO .................................................... 60
.PM, .RE, .TF, .WF, AND .YT REGISTRANT_EXTRA_INFO ...................... 60
.PRO PROFESSIONAL_DATA ......................................................... 62
.RO, AND .COM.RO REGISTRANT_EXTRA_INFO ................................. 62
.RU REGISTRANT_EXTRA_INFO ..................................................... 63
.SE AND .NU REGISTRANT_EXTRA_INFO .......................................... 65
.TRAVEL REGISTRANT_EXTRA_INFO ............................................... 66
.US NEXUS ............................................................................. 66
.XXX IPR_DATA ....................................................................... 67
LOOKUP COMMANDS .................................................................. 69
BELONGS_TO_RSP ........................................................................ 70

REQUEST PARAMETERS FOR BELONGS_TO_RSP .................................... 70


RESPONSE PARAMETERS FOR BELONGS_TO_RSP .................................. 70
EXAMPLES FOR BELONGS_TO_RSP .................................................. 71
CIRA_EMAIL_PWD ......................................................................... 74
REQUEST PARAMETERS FOR CIRA_EMAIL_PWD .................................... 74
RESPONSE PARAMETERS FOR CIRA_EMAIL_PWD ................................... 74
EXAMPLES FOR CIRA_EMAIL_PWD ................................................... 75
GET_BALANCE ............................................................................. 77
REQUEST PARAMETERS FOR GET_BALANCE ......................................... 77
RESPONSE PARAMETERS FOR GET_BALANCE ....................................... 77
EXAMPLES FOR GET_BALANCE ....................................................... 78
GET_CA_BLOCKER_LIST .................................................................. 80
REQUEST PARAMETERS FOR GET_CA_BLOCKER_LIST ............................. 80
RESPONSE PARAMETERS FOR GET_CA_BLOCKER_LIST ............................ 81
EXAMPLES FOR GET_CA_BLOCKER_LIST ............................................ 82
GET_CERT .................................................................................. 84
REQUEST PARAMETERS FOR GET_CERT ............................................. 84
RESPONSE PARAMETERS FOR GET_CERT ............................................ 85
3

EXAMPLES FOR GET_CERT ............................................................ 87


GET_CONTRACT ......................................................................... 100
REQUEST PARAMETERS FOR GET_CONTRACT ..................................... 100
RESPONSE PARAMETERS FOR GET_CONTRACT ................................... 100
EXAMPLES FOR GET_CONTRACT ................................................... 101
GET_DELETED_ DOMAINS ............................................................... 103
REQUEST PARAMETERS FOR GET_DELETED_DOMAINS .......................... 103
RESPONSE PARAMETERS FOR GET_DELETED_DOMAINS ......................... 105
EXAMPLES FOR GET_DELETED_DOMAINS ......................................... 106
GET (DOMAIN) ........................................................................... 109
REQUEST PARAMETERS FOR GET (DOMAIN) ...................................... 109
RESPONSE PARAMETERS FOR GET (DOMAIN) ..................................... 112
GET DOMAIN EXAMPLES............................................................. 123
FOR TYPE = ADMIN OR TECH ...........................................................
FOR TYPE = ALL_INFO ..................................................................
FOR TYPE = CA_WHOIS_DISPLAY_SETTING .........................................
FOR TYPE = DOMAIN_AUTH_INFO ....................................................
FOR TYPE = EXPIRE_ACTION ...........................................................
FOR TYPE = FORWARDING_EMAIL .....................................................
FOR TYPE = LIST .........................................................................
FOR TYPE = NAMESERVERS ............................................................
FOR TYPE = OWNER, ADMIN, BILLING, OR TECH ....................................
FOR TYPE = RSP_WHOIS_INFO ........................................................
FOR TYPE = STATUS .....................................................................
FOR TYPE = TLD_DATA .................................................................
FOR TYPE = WAITING HISTORY ........................................................
FOR TYPE = WHOIS_PRIVACY_STATE.................................................
FOR TYPE = XPACK_WAITING_HISTORY..............................................

123
130
143
145
147
150
152
155
157
159
163
166
177
179
181

GET_DOMAIN_AFFILIATE_ID ...........................................................

184
REQUEST PARAMETERS FOR GET_DOMAIN_AFFILIATE_ID ...................... 184
RESPONSE PARAMETERS FOR GET_DOMAIN_AFFILIATE_ID ..................... 184
EXAMPLES FOR GET_DOMAIN_AFFILIATE_ID ..................................... 185
GET_DOMAINS_CONTACTS ............................................................. 187
REQUEST PARAMETERS FOR GET_DOMAINS_CONTACTS ........................ 187
RESPONSE PARAMETERS FOR GET_DOMAINS_CONTACTS ....................... 187
EXAMPLES FOR GET_DOMAINS_CONTACTS ....................................... 188
GET_DOMAINS_BY_EXPIREDATE ...................................................... 191
REQUEST PARAMETERS FOR GET_DOMAINS_BY_EXPIREDATE .................. 191
RESPONSE PARAMETERS FOR GET_DOMAINS_BY_EXPIREDATE ................ 192
EXAMPLES FOR GET_DOMAINS_BY_EXPIREDATE ................................ 193
4

GET_NOTES ..............................................................................

196
REQUEST PARAMETERS FOR GET_NOTES.......................................... 196
RESPONSE PARAMETERS FOR GET_NOTES ........................................ 197
EXAMPLES FOR GET_NOTES ........................................................ 197
GET_ORDER_ INFO ...................................................................... 200
REQUEST PARAMETERS FOR GET_ORDER_INFO .................................. 200
RESPONSE PARAMETERS FOR GET_ORDER_INFO ................................ 200
EXAMPLES FOR GET_ORDER_INFO ................................................ 210
GET_ORDERS_ BY_DOMAIN ............................................................ 238
REQUEST PARAMETERS FOR GET_ORDERS_BY_DOMAIN ........................ 238
RESPONSE PARAMETERS FOR GET_ORDERS_BY_DOMAIN....................... 239
EXAMPLES FOR GET_ORDERS_BY_DOMAIN....................................... 240
GET_PRICE ............................................................................... 243
REQUEST PARAMETERS FOR GET_PRICE .......................................... 243
RESPONSE PARAMETERS FOR GET_PRICE ......................................... 244
EXAMPLES FOR GET_PRICE ......................................................... 244
GET_PRODUCT_INFO.................................................................... 246
REQUEST PARAMETERS FOR GET_PRODUCT_INFO ............................... 246
RESPONSE PARAMETERS FOR GET_PRODUCT_INFO.............................. 247
EXAMPLES FOR GET_PRODUCT_INFO.............................................. 249
GET_PRODUCTS ......................................................................... 262
REQUEST PARAMETERS FOR GET_PRODUCTS ..................................... 262
RESPONSE PARAMETERS FOR GET_PRODUCTS ................................... 263
EXAMPLES FOR GET_PRODUCTS ................................................... 265
GET_REGISTRANT_VERIFICATION_STATUS .......................................... 268
REQUEST PARAMETERS FOR GET_REGISTRANT_VERIFICATION_STATUS ...... 268
RESPONSE PARAMETERS FOR GET_REGISTRANT_VERIFICATION_STATUS..... 268
EXAMPLES FOR GET_REGISTRANT_VERIFICATION_STATUS ..................... 270
LOOKUP (DOMAIN) ...................................................................... 272
REQUEST PARAMETERS FOR LOOKUP (DOMAIN) .................................. 272
RESPONSE PARAMETERS FOR LOOKUP (DOMAIN) ................................ 273
EXAMPLES FOR LOOKUP (DOMAIN) ................................................ 274
NAME_SUGGEST (DOMAIN) ............................................................. 279
REQUEST PARAMETERS FOR NAME_SUGGEST (DOMAIN) ........................ 279
RESPONSE PARAMETERS FOR NAME_SUGGEST (DOMAIN) ...................... 284
EXAMPLES FOR NAME_SUGGEST (DOMAIN) ...................................... 287
UK_GET_BLOCKER_CONTACT .......................................................... 334
REQUEST PARAMETERS FOR UK_GET_BLOCKER_CONTACT ..................... 334
RESPONSE PARAMETERS FOR UK_GET_BLOCKER_CONTACT .................... 334
5

EXAMPLES FOR UK_GET_BLOCKER_CONTACT .................................... 335


PROVISIONING COMMANDS .................................................... 340
ACTIVATE (DOMAIN)

.................................................................... 341
REQUEST PARAMETERS FOR ACTIVATE (DOMAIN) ................................ 341
RESPONSE PARAMETERS FOR ACTIVATE (DOMAIN) .............................. 341
EXAMPLES FOR ACTIVATE (DOMAIN) .............................................. 342
CANCEL_ACTIVE_PROCESS (.CA ORDER) ............................................ 344
REQUEST PARAMETERS FOR CANCEL_ACTIVE_PROCESS ........................ 344
RESPONSE PARAMETERS FOR CANCEL_ACTIVE_PROCESS ....................... 345
EXAMPLES FOR CANCEL_ACTIVE_PROCESS ....................................... 345
CANCEL_FREE_TRIAL ................................................................... 347
REQUEST PARAMETERS FOR CANCEL_FREE_TRIAL ............................... 347
RESPONSE PARAMETERS FOR CANCEL_FREE_TRIAL ............................. 348
EXAMPLES FOR CANCEL_FREE_TRIAL ............................................. 349
CANCEL_ ORDER ......................................................................... 351
REQUEST PARAMETERS FOR CANCEL_ORDER ..................................... 351
RESPONSE PARAMETERS FOR CANCEL_ORDER ................................... 351
EXAMPLES FOR CANCEL_ORDER ................................................... 352
CANCEL_PENDING_ORDERS ............................................................ 355
REQUEST PARAMETERS FOR CANCEL_PENDING_ORDERS ....................... 355
RESPONSE PARAMETERS FOR CANCEL_PENDING_ORDERS ...................... 355
EXAMPLES FOR CANCEL_PENDING_ORDERS ...................................... 356
CREATE_TOKEN .......................................................................... 360
REQUEST PARAMETERS FOR CREATE_TOKEN ..................................... 360
RESPONSE PARAMETERS FOR CREATE_TOKEN .................................... 361
EXAMPLES FOR CREATE_TOKEN .................................................... 361
MODIFY (DOMAIN)....................................................................... 363
REQUEST PARAMETERS FOR MODIFY (DOMAIN) .................................. 363
FOR DATA = CA_WHOIS_DISPLAY_SETTING ........................................
FOR DATA = CHANGE_IPS_TAG .......................................................
FOR DATA = CIRA_REGISTRANT .......................................................
FOR DATA = CONTACT_INFO...........................................................
FOR DATA = DOMAIN_AUTH_INFO ....................................................
FOR DATA = EXPIRE_ACTION ..........................................................
FOR DATA = FORWARDING_EMAIL ....................................................
FOR DATA = IT_WHOIS_DISPLAY_SETTING .........................................
FOR DATA = PARKPAGE_STATE ........................................................
FOR DATA = RSP_WHOIS_INFO .......................................................
FOR DATA = STATUS ....................................................................

368
369
370
373
375
375
376
376
377
377
378
6

FOR DATA = UK_WHOIS_OPT ......................................................... 379


FOR DATA = WHOIS_PRIVACY_STATE ................................................ 380

RESPONSE PARAMETERS FOR MODIFY (DOMAIN) ................................ 381


MODIFY (DOMAIN) EXAMPLES ..................................................... 382
FOR DATA = CA_WHOIS_DISPLAY_SETTING ........................................
FOR DATA = CHANGE_IPS_TAG .......................................................
FOR DATA = CIRA_REGISTRANT .......................................................
FOR DATA = CONTACT_INFO...........................................................
FOR DATA = DOMAIN_AUTH_INFO ....................................................
FOR DATA = EXPIRE_ACTION ..........................................................
FOR DATA = FORWARDING_EMAIL ....................................................
FOR DATA = IT_WHOIS_DISPLAY_SETTING .........................................
FOR DATA = PARKPAGE_STATE ........................................................
FOR DATA = RSP_WHOIS_INFO .......................................................
FOR DATA = STATUS ....................................................................
FOR DATA = UK_WHOIS_OPT .........................................................
FOR DATA = WHOIS_PRIVACY_STATE ................................................
FOR TLD_DATA = CED_INFO (.ASIA) ...............................................
FOR TLD_DATA = IPR_DATA (.XXX) .................................................
FOR TLD_DATA = IT_REGISTRANT_INFO (.IT) .....................................
FOR TLD_DATA = NEXUS (.US) .......................................................
FOR TLD_DATA =PROFESSIONAL_DATA (.PRO) ....................................
FOR TLD_DATA = REGISTRANT_EXTRA_INFO (.COOP) ...........................
FOR TLD_DATA = REGISTRANT_EXTRA_INFO (.JOBS) ...........................
FOR TLD_DATA = REGISTRANT_EXTRA_INFO (.RU) ...............................

382
384
386
388
397
399
401
403
404
405
407
410
412
415
420
421
424
428
431
433
435

............................................................................... 437
REQUEST PARAMETERS FOR PARSE_CSR .......................................... 437
RESPONSE PARAMETERS FOR PARSE_CSR ........................................ 438
EXAMPLES FOR PARSE_CSR ........................................................ 439
PROCESS_PENDING ..................................................................... 442
REQUEST PARAMETERS FOR PROCESS_PENDING ................................. 442
RESPONSE PARAMETERS FOR PROCESS_PENDING ............................... 443
EXAMPLES FOR PROCESS_PENDING DOMAIN ..................................... 444
EXAMPLES FOR PROCESS_PENDING TRUST_SERVICE ............................ 447
QUERY_APPROVER_LIST ................................................................ 449
REQUEST PARAMETERS FOR QUERY_APPROVER_LIST ........................... 449
RESPONSE PARAMETERS FOR QUERY_APPROVER_LIST .......................... 450
EXAMPLES FOR QUERY_APPROVER_LIST .......................................... 451
QUERY_QUEUED_REQUEST ............................................................. 455
REQUEST PARAMETERS FOR QUERY_QUEUED_REQUEST ........................ 455
RESPONSE PARAMETERS FOR QUERY_QUEUED_REQUEST ....................... 455
PARSE CSR

EXAMPLES FOR QUERY_QUEUED_REQUEST ....................................... 456


REDEEM (DOMAIN) ...................................................................... 458
REQUEST PARAMETERS FOR REDEEM DOMAIN .................................... 458
RESPONSE PARAMETERS FOR REDEEM DOMAIN .................................. 458
EXAMPLES FOR REDEEM DOMAIN .................................................. 459
RENEW (DOMAIN) ....................................................................... 461
REQUEST PARAMETERS FOR RENEW (DOMAIN) ................................... 461
RESPONSE PARAMETERS FOR RENEW (DOMAIN) ................................. 462
EXAMPLES FOR RENEW (DOMAIN) ................................................. 464
REQUEST_ON_DEMAND_SCAN ......................................................... 466
REQUEST PARAMETERS FOR REQUEST_ON_DEMAND_SCAN .................... 466
RESPONSE PARAMETERS FOR REQUEST_ON_DEMAND_SCAN ................... 466
EXAMPLES FOR REQUEST_ON_DEMAND_SCAN ................................... 467
RESEND_APPROVE_EMAIL .............................................................. 471
REQUEST PARAMETERS FOR RESEND_APPROVE_EMAIL ......................... 471
RESPONSE PARAMETERS FOR RESEND_APPROVE_EMAIL ........................ 471
EXAMPLES FOR RESEND_APPROVE_EMAIL ........................................ 472
RESEND_ CERT_ EMAIL .................................................................. 474
REQUEST PARAMETERS FOR RESEND_CERT_EMAIL .............................. 474
RESPONSE PARAMETERS FOR RESEND_CERT_EMAIL ............................ 474
EXAMPLES FOR RESEND_CERT_EMAIL ............................................ 475
REVOKE (DOMAIN) ...................................................................... 477
REQUEST PARAMETERS FOR REVOKE (DOMAIN) .................................. 477
RESPONSE PARAMETERS FOR REVOKE (DOMAIN) ................................ 478
EXAMPLES FOR REVOKE (DOMAIN) ................................................ 478
SEND_CIRA_APPROVAL_EMAIL ....................................................... 481
REQUEST PARAMETERS FOR SEND_CIRA_APPROVAL_EMAIL .................. 481
RESPONSE PARAMETERS FOR SEND_CIRA_APPROVAL_EMAIL ................. 482
EXAMPLES FOR SEND_CIRA_APPROVAL_EMAIL ................................. 482
SEND_REGISTRANT_VERIFICATION_EMAIL ........................................... 484
REQUEST PARAMETERS FOR SEND_REGISTRANT_VERIFICATION_EMAIL ...... 484
RESPONSE PARAMETERS FOR SEND_REGISTRANT_VERIFICATION_EMAIL ..... 484
EXAMPLES FOR SEND_REGISTRANT_VERIFICATION_EMAIL ..................... 485
SET_DOMAIN_AFFILIATE_ID ........................................................... 487
REQUEST PARAMETERS FOR SET_DOMAIN_AFFILIATE_ID....................... 487
RESPONSE PARAMETERS FOR SET_DOMAIN_AFFILIATE_ID ..................... 487
EXAMPLES FOR SET_DOMAIN_AFFILIATE_ID ..................................... 488
SW_REGISTER (DOMAIN OR TRUST_SERVICE) ....................................... 490
REQUEST PARAMETERS FOR SW_REGISTER (DOMAIN OR TRUST_SERVICE) .. 490
8

NAMESERVER PAIR .......................................................................


.BE REGISTRATIONS AND TRANSFERS ................................................
.CA REGISTRATIONS ....................................................................
.EU REGISTRATIONS AND TRANSFERS ................................................
.IT TRANSFERS...........................................................................
.MOBI REGISTRATIONS ................................................................
.NAME REGISTRATIONS ................................................................

498
499
500
502
504
504
505

RESPONSE PARAMETERS FOR SW_REGISTER (DOMAIN OR TRUST_SERVICE) . 506


DOMAIN REGISTRATION EXAMPLES ................................................ 509
FOR DOMAIN = .COM, .NET, .ORG, .INFO, .BIZ, .NAME, .ME, AND .MOBI
............................................................................................. 509
FOR DOMAIN = .AERO ................................................................. 517
FOR DOMAIN = .ASIA .................................................................. 520
FOR DOMAIN = .AU ..................................................................... 524
FOR DOMAIN = .CA ..................................................................... 527
FOR DOMAIN = .DE ..................................................................... 532
FOR DOMAIN = .DK .................................................................... 536
FOR DOMAIN = .EU ..................................................................... 539
FOR DOMAIN = .FR ..................................................................... 541
FOR DOMAIN = .HU .................................................................... 544
FOR DOMAIN = .INFO .................................................................. 549
FOR DOMAIN = .IT ...................................................................... 552
FOR DOMAIN = .JOBS.................................................................. 561
FOR DOMAIN = .NAME ................................................................. 565
FOR DOMAIN = .PM, .RE, .TF, .WF, OR .YT ...................................... 568
FOR DOMAIN = .PRO ................................................................... 572
FOR DOMAIN = .SCOT ................................................................. 575
FOR DOMAIN = .US ..................................................................... 581
FOR DOMAIN = .XXX ................................................................... 584
FOR DOMAIN = NEW GTLD DURING SUNRISE PERIOD ............................. 590
FOR DOMAIN = NEW GTLD DURING CLAIMS PERIOD ............................... 598

DOMAIN TRANSFER EXAMPLES..................................................... 601


FOR DOMAIN = .AU .....................................................................
FOR DOMAIN = .CA .....................................................................
FOR DOMAIN = .DE .....................................................................
FOR DOMAIN = .EU OR .BE ...........................................................
FOR DOMAIN = .IT ......................................................................
EXAMPLES FOR WHOIS PRIVACY .....................................................

604
607
609
612
615
619

UPDATE_ALL_INFO ......................................................................

621
REQUEST PARAMETERS FOR UPDATE_ALL_INFO ................................. 621
RESPONSE PARAMETERS FOR UPDATE_ALL_INFO ................................ 622
EXAMPLES FOR UPDATE_ALL_INFO ................................................ 622
9

UPDATE_CONTACTS .....................................................................

625
REQUEST PARAMETERS FOR UPDATE_CONTACTS................................. 625
RESPONSE PARAMETERS FOR UPDATE_CONTACTS ............................... 626
EXAMPLES FOR UPDATE_CONTACTS ............................................... 627
UPDATE_ORDER ......................................................................... 630
REQUEST PARAMETERS FOR UPDATE_ORDER ..................................... 630
RESPONSE PARAMETERS FOR UPDATE_ORDER ................................... 637
EXAMPLES FOR UPDATE_ORDER ................................................... 638
UPDATE_PRODUCT ...................................................................... 645
REQUEST PARAMETERS FOR UPDATE_PRODUCT .................................. 645
RESPONSE PARAMETERS FOR UPDATE_PRODUCT ................................ 646
EXAMPLES FOR UPDATE_PRODUCT ................................................ 647
SUB-RESELLER COMMANDS ..................................................... 650
ACTING ON BEHALF OF SUB-RESELLERS .............................................. 651
EXAMPLE ............................................................................. 651
CREATE SUBRESELLER ................................................................... 654
REQUEST PARAMETERS FOR CREATE SUBRESELLER .............................. 654
RESPONSE PARAMETERS FOR CREATE SUBRESELLER ............................. 655
EXAMPLES FOR CREATE SUBRESELLER ............................................. 656
MODIFY SUBRESELLER ................................................................... 659
REQUEST PARAMETERS FOR MODIFY SUBRESELLER .............................. 659
RESPONSE PARAMETERS FOR MODIFY SUBRESELLER ............................ 660
EXAMPLES FOR MODIFY SUBRESELLER............................................. 661
GET SUBRESELLER ....................................................................... 664
REQUEST PARAMETERS FOR GET SUBRESELLER .................................. 664
RESPONSE PARAMETERS FOR GET SUBRESELLER ................................. 664
EXAMPLES FOR GET SUBRESELLER ................................................. 666
PAY SUBRESELLER ....................................................................... 671
REQUEST PARAMETERS FOR PAY SUBRESELLER ................................... 671
RESPONSE PARAMETERS FOR PAY SUBRESELLER ................................. 671
EXAMPLES FOR PAY SUBRESELLER ................................................. 672
TRANSFER COMMANDS ............................................................ 674
CANCEL_TRANSFER......................................................................

675
REQUEST PARAMETERS FOR CANCEL_TRANSFER ................................. 675
RESPONSE PARAMETERS FOR CANCEL_TRANSFER................................ 675
EXAMPLES FOR CANCEL_TRANSFER ................................................ 676
CHECK_TRANSFER ....................................................................... 678
REQUEST PARAMETERS FOR CHECK_TRANSFER .................................. 678
10

RESPONSE PARAMETERS FOR CHECK_TRANSFER ................................. 679


EXAMPLES FOR CHECK_TRANSFER ................................................. 681
GET_TRANSFERS_AWAY ................................................................ 685
REQUEST PARAMETERS FOR GET_TRANSFERS_AWAY ............................ 685
RESPONSE PARAMETERS FOR GET_TRANSFERS_AWAY .......................... 687
EXAMPLES FOR GET_TRANSFERS_AWAY .......................................... 689
GET_TRANSFERS_IN .................................................................... 692
REQUEST PARAMETERS FOR GET_TRANSFERS_IN................................ 692
RESPONSE PARAMETERS FOR GET_TRANSFERS_IN .............................. 694
EXAMPLES FOR GET_TRANSFERS_IN .............................................. 697
PROCESS_TRANSFER .................................................................... 700
REQUEST PARAMETERS FOR PROCESS_TRANSFER ............................... 700
RESPONSE PARAMETERS FOR PROCESS_TRANSFER .............................. 700
EXAMPLES FOR PROCESS_TRANSFER .............................................. 701
RSP2 RSP_PUSH_TRANSFER ............................................................ 703
REQUEST PARAMETERS FOR RSP2RSP_PUSH_TRANSFER........................ 703
RESPONSE PARAMETERS FOR RSP2RSP_PUSH_TRANSFER ...................... 704
EXAMPLES FOR RSP2RSP_PUSH_TRANSFER ...................................... 704
SEND_PASSWORD (TRANSFER) ........................................................ 707
REQUEST PARAMETERS FOR SEND_PASSWORD (TRANSFER) ................... 707
RESPONSE PARAMETERS FOR SEND_PASSWORD (TRANSFER) .................. 707
EXAMPLES FOR SEND_PASSWORD (TRANSFER) .................................. 708
TRADE_DOMAIN ......................................................................... 710
REQUEST PARAMETERS FOR TRADE_DOMAIN ..................................... 710
RESPONSE PARAMETERS FOR TRADE_DOMAIN ................................... 711
EXAMPLES FOR TRADE_DOMAIN ................................................... 712
BULK CHANGES COMMANDS..................................................... 720
BULK_TRANSFER.........................................................................

721
REQUEST PARAMETERS FOR BULK_TRANSFER (DOMAINS) ...................... 721
RESPONSE PARAMETERS FOR BULK_TRANSFER (DOMAINS) .................... 722
EXAMPLES FOR BULK_TRANSFER (DOMAINS) .................................... 723
SUBMIT (BULK_CHANGE) ............................................................... 727
REQUEST PARAMETERS FOR SUBMIT (BULK_CHANGE) .......................... 728
RESPONSE PARAMETERS FOR SUBMIT (BULK_CHANGE) ......................... 736
EXAMPLES FOR SUBMIT (BULK_CHANGE) ......................................... 736
SUBMIT_BULK_CHANGE (WHOIS PRIVACY)......................................... 753
REQUEST PARAMETERS FOR SUBMIT_BULK_CHANGE ............................ 753
RESPONSE PARAMETERS FOR SUBMIT_BULK_CHANGE .......................... 754
11

EXAMPLES FOR SUBMIT_BULK_CHANGE .......................................... 754


PERSONAL NAMES SERVICE ..................................................... 756
NAME_SUGGEST (SURNAME) ...........................................................

757
REQUEST PARAMETERS FOR NAME_SUGGEST (SURNAME) ...................... 757
RESPONSE PARAMETERS FOR NAME_SUGGEST (SURNAME)..................... 758
EXAMPLES FOR NAME_SUGGEST (SURNAME) ..................................... 759
SU_REGISTER ............................................................................ 763
REQUEST PARAMETERS FOR SU_REGISTER ....................................... 763
RESPONSE PARAMETERS FOR SU_REGISTER ...................................... 764
EXAMPLES FOR SU_REGISTER ...................................................... 765
QUERY (SURNAME) ...................................................................... 775
REQUEST PARAMETERS FOR QUERY (SURNAME).................................. 775
RESPONSE PARAMETERS FOR QUERY (SURNAME) ................................ 776
EXAMPLES FOR QUERY (SURNAME) ................................................ 777
UPDATE (SURNAME) ..................................................................... 780
REQUEST PARAMETERS FOR UPDATE SURNAME ................................... 780
RESPONSE PARAMETERS FOR UPDATE SURNAME ................................. 782
EXAMPLES FOR UPDATE SURNAME ................................................. 782
DELETE (SURNAME) ..................................................................... 788
REQUEST PARAMETERS FOR DELETE (SURNAME) ................................. 788
RESPONSE PARAMETERS FOR DELETE (SURNAME) ............................... 788
EXAMPLES FOR DELETE (SURNAME) ............................................... 789
NAMESERVER COMMANDS ....................................................... 791
ADVANCED_UPDATE_NAMESERVERS ..................................................

792
REQUEST PARAMETERS FOR ADVANCED_UPDATE_NAMESERVERS .............. 792
RESPONSE PARAMETERS FOR ADVANCED_UPDATE_NAMESERVERS ............ 793
EXAMPLES FOR ADVANCED_UPDATE_NAMESERVERS ............................ 794
CREATE (NAMESERVER) ................................................................. 797
REQUEST PARAMETERS FOR CREATE (NAMESERVER) ............................ 797
RESPONSE PARAMETERS FOR CREATE (NAMESERVER) ........................... 798
EXAMPLES FOR CREATE (NAMESERVER) ........................................... 798
DELETE (NAMESERVER) ................................................................. 807
REQUEST PARAMETERS FOR DELETE (NAMESERVER) ............................ 807
RESPONSE PARAMETERS FOR DELETE (NAMESERVER) ........................... 808
EXAMPLES FOR DELETE (NAMESERVER) ........................................... 808
GET (NAMESERVER) ..................................................................... 812
REQUEST PARAMETERS FOR GET (NAMESERVER) ................................ 812
RESPONSE PARAMETERS FOR GET (NAMESERVER) ............................... 812
12

EXAMPLES FOR GET (NAMESERVER) ............................................... 814


MODIFY (NAMESERVER) ................................................................. 819
REQUEST PARAMETERS FOR MODIFY (NAMESERVER) ............................ 819
RESPONSE PARAMETERS FOR MODIFY (NAMESERVER) ........................... 820
EXAMPLES FOR MODIFY (NAMESERVER) ........................................... 820
REGISTRY_ADD_NS ..................................................................... 824
REQUEST PARAMETERS FOR REGISTRY_ADD_NS................................. 824
RESPONSE PARAMETERS FOR REGISTRY_ADD_NS ............................... 825
EXAMPLES FOR REGISTRY_ADD_NS ............................................... 826
REGISTRY_CHECK_NAMESERVER ...................................................... 829
REQUEST PARAMETERS FOR REGISTRY_CHECK_NAMESERVER .................. 829
RESPONSE PARAMETERS FOR REGISTRY_CHECK_NAMESERVER ................ 830
EXAMPLES FOR REGISTRY_CHECK_NAMESERVER ................................ 830
DNS ZONE COMMANDS............................................................. 834
CREATE_DNS_ZONE

.................................................................... 835
REQUEST PARAMETERS FOR CREATE_DNS_ZONE ................................ 835
RESPONSE PARAMETERS FOR CREATE_DNS_ZONE............................... 837
EXAMPLES FOR CREATE_DNS_ZONE............................................... 840
DELETE_DNS_ZONE ..................................................................... 845
REQUEST PARAMETERS FOR DELETE_DNS_ZONE ................................ 845
RESPONSE PARAMETERS FOR DELETE_DNS_ZONE ............................... 845
EXAMPLES FOR DELETE_DNS_ZONE ............................................... 846
FORCE_DNS_NAMESERVERS ........................................................... 848
REQUEST PARAMETERS FOR FORCE_DNS_NAMESERVERS ....................... 848
RESPONSE PARAMETERS FOR FORCE_DNS_NAMESERVERS ..................... 848
EXAMPLES FOR FORCE_DNS_NAMESERVERS ..................................... 849
GET_DNS_ZONE ......................................................................... 851
REQUEST PARAMETERS FOR GET_DNS_ZONE .................................... 851
RESPONSE PARAMETERS FOR GET_DNS_ZONE ................................... 851
EXAMPLES FOR GET_DNS_ZONE ................................................... 854
REQUEST PARAMETERS FOR RESET_DNS_ZONE .................................. 857
RESPONSE PARAMETERS FOR RESET_DNS_ZONE ................................ 858
EXAMPLES FOR RESET_DNS_ZONE ................................................ 861
SET_DNS_ZONE ......................................................................... 867
REQUEST PARAMETERS FOR SET_DNS_ZONE ..................................... 867
RESPONSE PARAMETERS FOR SET_DNS_ZONE ................................... 870
EXAMPLES FOR SET_DNS_ZONE ................................................... 872
13

DOMAIN FORWARDING COMMANDS ........................................ 879


CREATE_DOMAIN_FORWARDING

...................................................... 880
REQUEST PARAMETERS FOR CREATE_DOMAIN_FORWARDING .................. 880
RESPONSE PARAMETERS FOR CREATE_DOMAIN_FORWARDING ................ 880
EXAMPLES FOR CREATE_DOMAIN_FORWARDING................................. 881
DELETE_DOMAIN_FORWARDING ....................................................... 883
REQUEST PARAMETERS FOR DELETE_DOMAIN_FORWARDING .................. 883
RESPONSE PARAMETERS FOR DELETE_DOMAIN_FORWARDING ................. 883
EXAMPLES FOR DELETE_DOMAIN_FORWARDING ................................. 884
GET_DOMAIN_FORWARDING ........................................................... 886
REQUEST PARAMETERS FOR GET_DOMAIN_FORWARDING ...................... 886
RESPONSE PARAMETERS FOR GET_DOMAIN_FORWARDING ..................... 886
EXAMPLES FOR GET_DOMAIN_FORWARDING ..................................... 888
SET_DOMAIN_FORWARDING ........................................................... 893
REQUEST PARAMETERS FOR SET_DOMAIN_FORWARDING....................... 893
RESPONSE PARAMETERS FOR SET_DOMAIN_FORWARDING ..................... 895
EXAMPLES FOR SET_DOMAIN_FORWARDING ..................................... 895
USER COMMANDS .................................................................... 899
ADD (SUBUSER) .........................................................................

900
REQUEST PARAMETERS FOR ADD (SUBUSER)..................................... 900
RESPONSE PARAMETERS FOR ADD (SUBUSER) ................................... 901
EXAMPLES FOR ADD (SUBUSER) ................................................... 901
DELETE (SUBUSER) ...................................................................... 903
REQUEST PARAMETERS FOR DELETE (SUBUSER) ................................. 903
RESPONSE PARAMETERS FOR DELETE (SUBUSER) ............................... 903
EXAMPLES FOR DELETE (SUBUSER)................................................ 904
GET (SUBUSER).......................................................................... 906
REQUEST PARAMETERS FOR GET (SUBUSER) ..................................... 906
RESPONSE PARAMETERS FOR GET (SUBUSER) ................................... 906
EXAMPLES FOR GET (SUBUSER).................................................... 907
GET (USERINFO)......................................................................... 909
REQUEST PARAMETERS FOR GET (USERINFO) .................................... 909
RESPONSE PARAMETERS FOR GET (USERINFO)................................... 909
EXAMPLES FOR GET (USERINFO)................................................... 912
MODIFY (SUBUSER) ..................................................................... 915
REQUEST PARAMETERS FOR MODIFY (SUBUSER) ................................. 915
RESPONSE PARAMETERS FOR MODIFY (SUBUSER) ............................... 916
EXAMPLES FOR MODIFY (SUBUSER) ............................................... 916
14

AUTHENTICATION COMMANDS ................................................ 918


CHANGE (OWNERSHIP)

................................................................. 919
REQUEST PARAMETERS FOR CHANGE (OWNERSHIP) ............................. 919
RESPONSE PARAMETERS FOR CHANGE (OWNERSHIP) ........................... 920
EXAMPLES FOR CHANGE (OWNERSHIP) ........................................... 920
CHANGE (PASSWORD) .................................................................. 922
REQUEST PARAMETERS FOR CHANGE (PASSWORD) .............................. 922
RESPONSE PARAMETERS FOR CHANGE (PASSWORD) ............................ 922
EXAMPLES FOR CHANGE (PASSWORD) ............................................ 923
SEND_AUTHCODE ....................................................................... 925
REQUEST PARAMETERS FOR SEND_AUTHCODE ................................... 925
RESPONSE PARAMETERS FOR SEND_AUTHCODE ................................. 925
EXAMPLES FOR SEND_AUTHCODE ................................................. 926
SEND_PASSWORD (DOMAIN)........................................................... 928
REQUEST PARAMETERS FOR SEND_PASSWORD (DOMAIN) ...................... 928
RESPONSE PARAMETERS FOR SEND_PASSWORD (DOMAIN) .................... 929
EXAMPLES FOR SEND_PASSWORD (DOMAIN) .................................... 929
COOKIE/SESSION COMMANDS ................................................ 931
DELETE (COOKIE)

....................................................................... 932
REQUEST PARAMETERS FOR DELETE (COOKIE) ................................... 932
RESPONSE PARAMETERS FOR DELETE (COOKIE) ................................. 932
EXAMPLES FOR DELETE (COOKIE) ................................................. 933
QUIT (SESSION) ......................................................................... 935
REQUEST PARAMETERS FOR QUIT (SESSION) .................................... 935
RESPONSE PARAMETERS FOR QUIT (SESSION) ................................... 935
EXAMPLES FOR QUIT (SESSION) ................................................... 935
SET (COOKIE)............................................................................ 937
REQUEST PARAMETERS FOR SET (COOKIE) ....................................... 937
RESPONSE PARAMETERS FOR SET (COOKIE)...................................... 938
EXAMPLES FOR SET (COOKIE)...................................................... 939
UPDATE (COOKIE) ....................................................................... 942
REQUEST PARAMETERS FOR UPDATE (COOKIE) .................................. 942
RESPONSE PARAMETERS FOR UPDATE (COOKIE) ................................. 942
EXAMPLES FOR UPDATE (COOKIE) ................................................. 943

15

WHOIS PRIVACY COMMAND .................................................... 946


CHANGE_WP_EXPIRY_DATE ............................................................

947
REQUEST PARAMETERS FOR CHANGE_WP_EXPIRY_DATE ....................... 947
RESPONSE PARAMETERS FOR CHANGE_WP_EXPIRY_DATE...................... 948
EXAMPLES FOR CHANGE_WP_EXPIRY_DATE ...................................... 948

APPENDIX A: SPECIAL CONSIDERATIONS FOR ASYNCHRONOUS


REGISTRIES ............................................................................. 956
APPENDIX B: CUSTOMIZING THE TRANSFER APPROVAL URL ... 957
REGULAR TRANSFERS ................................................................... 957
BULK TRANSFERS ........................................................................ 958
TRANSFERS AWAY ....................................................................... 958
APPENDIX C: ENCODING TYPES FOR IDNS............................... 960
REVISIONS AND UPDATES ....................................................... 965

16

Introduction
Welcome to the OpenSRS API guide for the registration and management of
domain names and domain related services. This document is intended for
OpenSRS Resellers who offer domains and supporting services to their
customers.
Using this document, you can provide OpenSRS functionality to your
customers by integrating the API commands into your website that can send
XML requests to OpenSRS over HTTPS Post. You can also use the API
commands to run queries or automate tasks you would otherwise perform
manually using the OpenSRS Reseller Web Interface (RWI).

Response Messages
The process returns a response message to a client in answer to an action
that was executed on its behalf. Responses contain data appropriate for the
action that was executed. In some cases, this may be simple strings; in other
cases, this may be lists of information. This response is returned in the form
of an XML document.

Common fields
There are a few common fields that all responses share, regardless of the
action to which they are responding. The following fields comprise a standard
response message. Some actions only use standard response messages.
Parameter name Definition/Value
protocol

The protocol that is being used (XCP).

action

In the case of responses, this is always REPLY.

response_code

Response code (meaning is action-specific).

response_text

Response text (meaning is action-specific).

is_success

Indicates whether the command was successful. Returns 0 if


not successful and 1 if the action was successful.

Optional fields
In addition, the structure may contain the following fields, depending on the
specific action that was requested.
Parameter name Definition/Value
attributes

A hash that contains any specific parameters or attributes to be


sent along with the action request.

17

Submitting API commands without enduser credentials


You can submit API commands without specifying a username and password
or a cookie.
Note: The only exception is the change (password) command.
Before you can submit commands without end-user credentials, you must
establish a secure connection with the OpenSRS server using a private key
(use either CBC:Blowfish or HTTPS-Post).

Required parameter
When you submit API commands without end-user credentials, you must
include the domain parameter to identify the domain that will be affected by
the command.

Example
<?xml version="1.0" encoding="UTF-8" standalone='yes'?>
<!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">modify</item>
<item key="object">domain</item>
<item key="attributes">
<dt_assoc>
<item key="domain">example.com</item>
<item key="data">nexus_info</item>
....

18

Potential issues
Not permitted: apply_to_all flag
The apply_to_all flag is normally used to apply a change to all domains in
the Reseller's profile; however, you cannot use the apply_to_all flag when
you submit commands without credentials. If you submit the apply_to_all
flag without credentials, the command will fail.

Incorrect credentials
If end-user credentials are submitted, but they are incorrect, the command
will fail.

19

Contact Set
Rather than including the entire contact set in every command example in
this guide, where it is required, contact details are listed in a separate topic.
Every command that requires contact details contains an ellipsis (...) that
links to the topic where the contact_set parameter is defined.

Example
This example shows a portion of the sw_register command with a link to the
contact_set example.
<?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="object">DOMAIN</item>
<item key="attributes">
<dt_assoc>
<item key="auto_renew"/>
<item key="link_domains">0</item>
<item key="custom_tech_contact">0</item>
<item key="contact_set">
... see "Contact Set"
</item>
...

20

Examples for contact set


...
<item key='contact_set'>
<dt_assoc>
<item key="owner">
<dt_assoc>
<item key="first_name">Owen</item>
<item key="last_name">Ottway</item>
<item key="phone">+1.4165550123x1902</item>
<item key="fax">+1.4165550124</item>
<item key="email">ottway@example.com</item>
<item key="org_name">Example Inc.</item>
<item key="address1">32 Oak Street</item>
<item key="address2">Suite 500</item>
<item key="address3">Owner</item>
<item key="city">SomeCity</item>
<item key="state">CA</item>
<item key="country">US</item>
<item key="postal_code">90210</item>
</dt_assoc>
</item>
<item key="admin">
<dt_assoc>
<item key="first_name">Adler</item>
<item key="last_name">Adams</item>
<item key="phone">+1.4165550123x1812</item>
<item key="fax">+1.4165550125</item>
<item key="email">adams@example.com</item>
<item key="org_name">Example Inc.</item>
<item key="address1">32 Oak Street</item>
<item key="address2">Suite 100</item>
<item key="address3">Admin</item>
<item key="city">Santa Clara</item>
<item key="state">CA</item>
<item key="country">US</item>
21

<item key="postal_code">90210</item>
</dt_assoc>
</item>
<item key="billing">
<dt_assoc>
<item key="first_name">Bill</item>
<item key="last_name">Burton</item>
<item key="phone">+1.4165550123x1248</item>
<item key="fax">+1.4165550136</item>
<item key="email">burton@example.com</item>
<item key="org_name">Example Inc.</item>
<item key="address1">32 Oak Street</item>
<item key="address2">Suite 200</item>
<item key="address3">Billing</item>
<item key="city">Santa Clara</item>
<item key="state">CA</item>
<item key="country">US</item>
<item key="postal_code">90210</item>
</dt_assoc>
</item>
<item key="tech">
<dt_assoc>
<item key="first_name">Tim</item>
<item key="last_name">Tucker</item>
<item key="phone">+1.4165550123x1243</item>
<item key="fax">+1.4165550125</item>
<item key="email">tucker@example.com</item>
<item key="org_name">Example Inc.</item>
<item key="address1">32 Oak Street</item>
<item key="address2">Suite 100</item>
<item key="address3">Tech</item>
<item key="city">Santa Clara</item>
<item key="state">CA</item>
<item key="country">US</item>
<item key="postal_code">90210</item>
22

</dt_assoc>
</item>
</dt_assoc>
</item>
...

Domain contacts
The following tables list the contacts that are required for each gTLD and
ccTLD.
gTld

Owner

Admin

Billing

Tech

.aero
.asia
.biz
.coop
.com
.info
.jobs
.mobi
.name
.net
.org
.pro
.tel
.xxx

ccTld

Owner

Admin

Billing

Tech

.ac
.ae
.af (.af,
.com.af,
.net.ag, .org.af)
.ag (.ag, .co.ag,
.com.ag,
23

ccTld

Owner

Admin

Billing

Tech

.net.ag,
.nom.ag, .org.ag)
.ai (.com.ai,
.net,ai, .off.ai,
.org.ai)
.am
.ar (.com.ar)
.as
.at
.au (.asn.au,
.com.au,
.net.au, .id.au,
.org.au)
.be
.br (.com.br)
.bz
.ca
.cc
.cd
.ch
.cl
.cm
.co.cm
.com.cm
.net.cm
.co (.co, .com.co,
.net.co, .nom.co)
.cx
.cz
.de
.dk

24

ccTld

Owner

Admin

Billing

Tech

.ec (.ec,
.com.ec, .fin.ec,
.info.ec,
.med.ec,
.net.ec, .pro.ec)
.es (.es,
.com.es,
.nom.es, .org.es)
.eu
.fi
.fm
.fr
.gd
.gg (.gg,
.co.gg, .net.gg,
.org.gg)
.gl (.gl, .co.gl,
.com.gl, .net.gl,
.org.gl)
.gr (.com.gr,
.edu.gr, .net.gr,
.org.gr)
.gs
.gy (.gy,
.co.gy,
.com.gy, .net.gy)
.hk
.hm
.hn (.hn, .com.hn,
.net.hn, .org.hn)
.hr (.com.hr)
.ht (.ht,
.com.ht,
.info.ht, .net.ht,
.org,ht)
.hu (.hu, .co.hu)
.il (.co.il)
.im (.im, .co.im,
25

ccTld

Owner

Admin

Billing

Tech

.com.im,
.net.im, .org.im)
.in (.in, .co.in,
.firm.in, .gen.in,
.ind.in, .net.in,
.org.in)
.io
.is
.it
.je (.je, .co.je)
.jp
.kg
.ki (.biz.ki,
.com.ki,
.info.ki,
.mobi.ki,
.net.ki, .tel.ki)
.kr
.co.kr
.la
.lc (.lc, .co.lc,
.com.lc, .l.lc,
.net.lc, .org.lc,
.p.lc)
.li
.lt
.lu
.lv
.com.lv
.ly (.ly, .com.ly)
.ma
.co.ma
.md
.me
26

ccTld

Owner

Admin

Billing

Tech

.mn
.ms
.mu
.mx (.mx,
.com.mx)
.my (.my,
.com.my, .net.my,
.org.my)
.nl
.no
.nu
.nz (.co.nz,
.net.nz, .org.nz)
.pe (.pe,
.com.pe, .net.pe)
ph (.ph, .com.ph,
.net.ph, .org.ph)
.pl (.pl, .biz.pl
.com.pl, .edu.pl,
.info.pl, .net.pl,
.nom.pl, .org.pl,
.shop.pl, .waw.pl)
.pm
.pr (.com.pr)
.pt (.pt, .com.pt)
.pw
.qa
.re
.ro (.ro, .com.ro)
.ru (.ru, .com.ru)
.sb (.com.sb,
.net.sb, .org.sb)
27

ccTld

Owner

Admin

Billing

Tech

.sc
.com.sc
.net.sc
.org.sc
.se
.sg
.sh
.si
.so (.so, .com.so,
.net.so, .org.so)
.sr
.st
.sx
.tc
.tf
.tk
.tl
.tm
.to
.tv
.tw (.tw,
.com.tw, .org.tw,
idv.tw)
.ua (.com.ua)
.uk (.co.uk,
.ltd.uk, .me.uk,
.net.uk,
.org.uk, .plc.uk)
.us
28

ccTld

Owner

Admin

Billing

Tech

.uy (.com.uy)
.vc (.vc, .com.vc,
.net.vc, .org.vc)
.ve (.co.ve,
.com.ve)
.vg
.wf
.ws
.yt
.za (.co.za)

Default contact requirements


Note: Fields cannot contain leading or trailing white-spaces.

Parameter
name

Obligation

Format/Constraints

first_name

Required

Maximum 64 alphanumeric characters.

last_name

Required

Maximum 64 alphanumeric characters.

org_name

Required

Maximum 64 alphanumeric characters.

address1

Required

Maximum 100 alphanumeric characters.

address2

Optional

Maximum 100 alphanumeric characters.

address3

Optional

Maximum 100 alphanumeric characters.

city

Required

Maximum 64 alphanumeric characters.

state

Required if
Maximum 32 alphanumeric characters.
country =
.CA, .US, or .ES
Not required
for .NL

postal_code

Required

Maximum 32 alphanumeric characters.


Note: For .NL, ensure that the postal code does
not include any spaces.

country

Required

2 letter ISO country code.

phone

Required

Maximum 20 characters, in the format


+CCC.NNNNNNNNNNxEEEE, where C = country
code, N = phone number, and E = extension
29

Parameter
name

Obligation

Format/Constraints
(optional).

fax

Optional

Maximum 20 alphanumeric characters.

email

Required

Maximum 255 alphanumeric characters, validated


according to rfc822.

EPP contact requirements


Parameter
name

Obligation

Format/Constraints

first_name

Required

Maximum 64 alphanumeric characters.

last_name

Required

Maximum 63 alphanumeric characters.

org_name

Required

Maximum 64 alphanumeric characters.

address1

Required

Maximum 64 alphanumeric characters.

address2

Optional

Maximum 64 alphanumeric characters.

address3

Optional

Maximum 64 alphanumeric characters.

city

Required

Maximum 64 alphanumeric characters.

state

Required if
Maximum 32 alphanumeric characters.
country = CA or
US
Not required
for .NL

postal_code

Required

Maximum 16 alphanumeric characters.


Note: For .NL, ensure that the postal code does
not include any spaces.

country

Required

2 letter ISO country code.

phone

Required

Maximum 20 alphanumeric characters, syntax


verified according to EPP.

fax

Optional

Maximum 20 alphanumeric characters, in the


format +CCC.NNNNNNNNNNxEEEE, where C =
country code, N = phone number, and E =
extension (optional).

email

Required

Maximum 64 characters to left of and 63 characters


right of "@" sign, alphanumeric characters,
validated according to rfc822.

30

.BE owner and tech contact requirements


Two contacts are required for .BE domains: 'owner' and 'tech'. If you submit
other contact types, they are ignored.
Parameter
name

Obligation

Format/Constraints

first_name

Required

Maximum length: 64 alphanumeric characters.

last_name

Required

Maximum length: 64 alphanumeric characters.

org_name

Required

Maximum length: 64 alphanumeric characters.

address1

Required

Maximum length: 100 alphanumeric characters.

address2

Optional

Maximum length: 100 alphanumeric characters.

address3

Optional

Maximum length: 100 alphanumeric characters.

city

Required

Maximum length: 64 alphanumeric characters.

state

Required if
country = CA or
US

Maximum length: 32 alphanumeric characters.

postal_code

Required

Maximum length: 20 alphanumeric characters.

country

Required

Maximum length: 2 alphanumeric characters.

phone

Required

Maximum length: 20 alphanumeric characters, in


the format +CCC.NNNNNNNNNNxEEEE, where C =
country code, N = phone number, and E =
extension (optional).

fax

Optional

Maximum length: 20 alphanumeric characters,


syntax verified according to EPP.

email

Required

Maximum length: 255 alphanumeric characters,


validated according to rfc822.

lang

Required

Maximum length: 2 alpha characters, must be one


of designated languages for .BE (see the language
list for .BE).

vat

Optional

Valid Value-Added Tax registration number of the


contact.

.CA owner, admin, and tech contact requirements


Parameter
name

Obligation

Format/Constraints

first_name

Required

Maximum length: 64 alphanumeric characters.

last_name

Required

Maximum length: 64 alphanumeric characters.

org_name

Optional for
individuals

Maximum length: 64 alphanumeric characters.

31

Parameter
name

Obligation

Format/Constraints

address1

Optional

Maximum length: 100 alphanumeric characters.

address2

Optional

Maximum length: 100 alphanumeric characters.

address3

Optional

Maximum length: 100 alphanumeric characters.

city

Required for
admin and
tech; optional
for owner

Maximum length: 64 alphanumeric characters.

state

Required for
admin and
tech; optional
for owner

A valid 2 letter code for the Canadian province.

Alberta = AB

British Columbia = BC

Manitoba = MB

New Brunswick = NB

Newfoundland and Labrador = NL

Northwest Territories = NT

Nova Scotia = NS

Nunavut = NU

Ontario = ON

Prince Edward Island = PE

Quebec = QC

Saskatchewan = SK

Yukon = YT

postal_code

Required for
admin and
tech; optional
for owner

Maximum length: 32 alphanumeric characters.

country

Required for
admin and
tech; optional
for owner

Maximum length: 2 alphanumeric characters

phone

Required for
admin and
tech; optional
for owner

Maximum length: 20 alphanumeric characters, in


the format +CCC.NNNNNNNNNNxEEEE, where C =
country code, N = phone number, and E =
extension (optional).

fax

Optional

Maximum length: 20 alphanumeric characters.

email

Required for
admin and
tech; optional
for owner

Maximum length: 255 alphanumeric characters,


validated according to rfc822.

32

Parameter
name

Obligation

Format/Constraints

lang

Required

The contact's preferred language. The default is


English.
Allowed values are:

EN = English

FR = French

.DE admin contact requirements


Parameter
name

Obligation

Format/Constraints

first_name

Required

Maximum length: 64 alphanumeric characters.

last_name

Required

Maximum length: 64 alphanumeric characters.

org_name

Required

Maximum length: 64 alphanumeric characters.

address1

Required

Maximum length: 100 alphanumeric characters.

address2

Optional

Maximum length: 100 alphanumeric characters.

address3

Optional

Maximum length: 100 alphanumeric characters.

city

Required

Maximum length: 64 alphanumeric characters.

state

Required if
country = CA
or US

Maximum length: 32 alphanumeric characters.

postal_code

Required

Maximum length: 20 alphanumeric characters.

country

Required

Maximum length: 2 alphanumeric characters.

phone

Required

Maximum length: 20 alphanumeric characters, in


the format +CCC.NNNNNNNNNNxEEEE, where C =
country code, N = phone number, and E =
extension (optional).

fax

Optional

Maximum length: 20 alphanumeric characters, if


not null syntax verified according to EPP.

email

Required

Maximum length: 255 alphanumeric characters,


validated according to rfc822.

Additional rules
SUM (org_name address1 address2 address3) not to exceed 255 characters.

.DE owner contact requirements


Parameter
name

Obligation

Format/Constraints

first_name

Required

Maximum length: 64 alphanumeric characters.


33

Parameter
name

Obligation

Format/Constraints

last_name

Required

Maximum length: 64 alphanumeric characters.

org_name

Required

Maximum length: 64 alphanumeric characters.

address1

Required

Maximum length: 100 alphanumeric characters.

address2

Optional

Maximum length: 100 alphanumeric characters.

address3

Optional

Maximum length: 100 alphanumeric characters.

city

Required

Maximum length: 64 alphanumeric characters.

state

Required if
Maximum length: 32 alphanumeric characters.
country = CA or
US

postal_code

Required

Maximum length: 20 alphanumeric characters.

country

Required

Maximum length: 2 alphanumeric characters.

phone

Required

Maximum length: 20 alphanumeric characters, in


the format +CCC.NNNNNNNNNNxEEEE, where C =
country code, N = phone number, and E =
extension (optional).

fax

Optional

Maximum length: 20 alphanumeric characters, if


not null syntax verified according to EPP.

email

Required

Maximum length: 255 alphanumeric characters,


validated according to rfc822.

Additional rules
SUM (first_name last_name address1 address2 address3 postal_code city)
must not exceed 248 characters.
SUM (org_name address1 address2 address3) not to exceed 255 characters.

.DE zone and tech contact requirements


Note: Submit .DE zone contact information as contact type billing.

Parameter
name

Obligation

Format/Constraints

first_name

Required

Maximum length: 64 alphanumeric characters.

last_name

Required

Maximum length: 64 alphanumeric characters.

org_name

Required

Maximum length: 64 alphanumeric characters.

address1

Required

Maximum length: 100 alphanumeric characters.

address2

Optional

Maximum length: 100 alphanumeric characters.

address3

Optional

Maximum length: 100 alphanumeric characters.

city

Required

Maximum length: 64 alphanumeric characters.


34

Parameter
name

Obligation

Format/Constraints

state

Required if
Maximum length: 32 alphanumeric characters.
country = CA or
US

postal_code

Required

Maximum length: 20 alphanumeric characters.

country

Required

Maximum length: 2 alphanumeric characters.

phone

Required

Maximum length: 20 alphanumeric characters, in


the format +CCC.NNNNNNNNNNxEEEE, where C =
country code, N = phone number, and E =
extension (optional).

fax

Required

Maximum length: 20 alphanumeric characters, if


not null syntax verified according to EPP.

email

Required

Maximum length: 255 alphanumeric characters,


validated according to rfc822.

Additional rules
SUM(org_name address1 address2 address3) not to exceed 255 characters.

.ES postal codes


When registering a .ES name, the postal code must correspond to the
province for each of the contacts. Refer to the chart below for the two digit
postal code prefix that applies to each province.
Postal code
prefix

Province

Postal code
prefix

Province

01

Araba

27

Lugo

02

Albacete

28

Madrid

03

Alicante

29

Malaga

04

Almeria

30

Murcia

05

Avila

31

Navarr

06

Badajoz

32

Ourense

07

Illes Balears

33

Asturias

08

Barcelona

34

Palencia

09

Burgos

35

Palmas, Las

10

Caceres

36

Pontevedra

35

Postal code
prefix

Province

Postal code
prefix

Province

11

Cadiz

37

Salamanca

12

Castellon

38

Santa Cruz de Tenerife

13

Ciudad Real

39

Cantabria

14

Cordoba

40

Segovia

15

Corua, A

41

Sevilla

16

Cuenca

42

Soria

17

Girona

43

Tarragona

18

Granada

44

Teruel

19

Guadalajara

45

Toledo

20

Gipuzkoa

46

Valencia

21

Huelva

47

Valladolid

22

Huesca

48

Bizkaia

23

Jaen

49

Zamora

24

Leon

50

Zaragoza

25

Lleida

51

Ceuta

26

Rioja, La

52

Melilla

.EU owner and tech contact requirements


Only two contacts are accepted for .EU domains: 'owner' and 'tech'. If you
submit other contact types, they are ignored.
Parameter
name

Obligation

Format/Constraints

first_name

Required

Maximum length: 64 alphanumeric characters.

last_name

Required

Maximum length: 64 alphanumeric characters.

org_name

Required

Maximum length: 64 alphanumeric characters.

address1

Required

Maximum length: 100 alphanumeric characters.

address2

Optional

Maximum length: 100 alphanumeric characters.

address3

Optional

Maximum length: 100 alphanumeric characters.

city

Required

Maximum length: 64 alphanumeric character


36

Parameter
name

Obligation

Format/Constraints

state

Optional

Maximum length: 32 alphanumeric characters.

postal_code

Optional

Maximum length: 20 alphanumeric characters.

country

Required

Maximum length: 2 alphanumeric characters, for


owner contact the country must be one of the
designated countries for .EU (see the country list
for .EU).

phone

Required

Maximum length: 15 alphanumeric characters, in


the format +CCC.NNNNNNNNNN, where C =
country code and N = phone number.

fax

Optional

Maximum length: 20 alphanumeric characters, if


not null syntax verified according to EPP.

email

Required

Maximum length: 255 alphanumeric characters,


validated according to rfc822.

lang

Required

Maximum length: 2 alpha characters, must be one


of designated languages for .EU (see the language
list for .EU).

vat

Optional

Valid Value-Added Tax registration number of the


requesting contact.

.IT contact requirements


Parameter
name

Obligation

Format/Constraints

first_name

Required

Maximum length: 64 alphanumeric characters.

last_name

Required

Maximum length: 64 alphanumeric characters.

org_name

Required if
entity_type is
not 1

Maximum length: 64 alphanumeric characters.

address1

Required

Maximum length: 100 alphanumeric characters.

address2

Optional

Maximum length: 100 alphanumeric characters.

address3

Optional

Maximum length: 100 alphanumeric characters.

city

Required

Maximum length: 64 alphanumeric characters.

state

Required

Maximum length: 32 alphanumeric characters.


If country = IT, province must be a valid Italian
province. (See
http://en.wikipedia.org/wiki/ISO_3166-2:IT ).

37

Parameter
name

Obligation

Format/Constraints

postal_code

Required

Maximum length: 16 alphanumeric characters.


If country = IT, postal_code must be a valid
Italian postal code. (See
http://en.wikipedia.org/wiki/List_of_postal_codes_i
n_Italy)

country

Required

The ISO 3166-1 country code for the owner


contact. Maximum length: 2 alphanumeric
characters. (See nationality_code for
requirements.)
Note: Be sure to use capital letters.

phone

Required

Maximum length: 20 alphanumeric characters, in


the format +CCC.NNNNNNNNNNxEEEE, where C =
country code, N = phone number, and E =
extension (optional).

fax

Optional

Maximum length: 20 alphanumeric characters, if


not null syntax verified according to EPP.

email

Required

Maximum length: 100 alphanumeric characters,


validated according to rfc822.

entity_type

Required

A numeric entry that indicates the type of domain


owner.
Valid values are:

nationality_
code

Optional

1Italian and foreign natural persons

2Companies/one man companies

3Freelance workers/professionals

4Non-profit organizations

5Public organizations

6Other subjects

7Foreigners who match 2-6

The ISO 3166-1 code for the nationality of the


domain owner. Maximum length: 2 alphanumeric
characters.
If entity_type = 1, nationality or owner's country
or both must be an EU country.
If entity_type = 2-6, this value must be IT.
If entity_type = 7, this value must match owner's
country and must be an EU country other than IT.
Note: Be sure to use capital letters.

38

Parameter
name

Obligation

Format/Constraints

reg_code

Required

An identifying number, usually the VAT or Codice


Fiscale (numeric tax code). The value that you
need to enter depends on the entity type of the
registrant.

Italian citizens must enter their Codice


Fiscale.

Non Italians not living in Italy can enter


n.a.

Italian companies, freelancers, and other


subjects must enter their 11 digit VAT
number or tax indentification number.

Italian non-profit organizations must enter


their VAT number or tax identification
number; however, if they do not have
one,they can enter n.a.

Non Italian entities other than persons


(organizations, freelancers, companies,
etc.) may enter their VAT number or n.a.

.MX contact requirements


Parameter
name

Obligation

Format/Constraints

first_name

Required

Maximum 64 alphanumeric characters.

last_name

Required

Maximum 64 alphanumeric characters.

org_name

Required

Maximum 64 alphanumeric characters.

address1

Required

Maximum 64 alphanumeric characters.

address2

Optional

Maximum 64 alphanumeric characters.

address3

Optional

Maximum 64 alphanumeric characters.

city

Required

Maximum 64 alphanumeric characters.

Required if
state/province country = CA,
MX, or US

A valid 2 letter code for the state or province

postal_code

Required

Maximum 16 alphanumeric characters.

country

Required

2 letter ISO country code.

phone

Required

Maximum 20 alphanumeric characters, syntax


39

Parameter
name

Obligation

Format/Constraints
verified according to EPP.

fax

Optional

Maximum 20 alphanumeric characters, in the


format +CCC.NNNNNNNNNNxEEEE, where C =
country code, N = phone number, and E =
extension (optional).

email

Required

Maximum 64 characters to left of and 63 characters


right of "@" sign, alphanumeric characters,
validated according to rfc822.

.PRO contact requirements


The PRO registry does not support extensions in phone and fax numbers. If
you include an extension in the number, for example, +1.4165550123x1234,
the string will be accepted, but the registry drops the extension part of the
number and the resulting number becomes +1.4165550123.

.UK transfer-no change-admin contact requirements


Note: The admin contact information is only used by OpenSRS, and the
information is not forwarded to the .UK registry.

Parameter
name

Obligation

Format/Constraints

first_name

Optional

Maximum length: 64 alphanumeric characters.

last_name

Optional

Maximum length: 64 alphanumeric characters.

org_name

Optional

Maximum length: 64 alphanumeric characters.

address1

Optional

Maximum length: 100 alphanumeric characters.

address2

Optional

Maximum length: 100 alphanumeric characters.

address3

Optional

Maximum length: 100 alphanumeric characters.

city

Optional

Maximum length: 64 alphanumeric characters.

state

Optional

Maximum length: 32 alphanumeric characters.

postal_code

Optional

Maximum length: 32 alphanumeric characters.

country

Optional

Maximum length: 2 alphanumeric characters

phone

Optional

Maximum length: 20 alphanumeric characters, in


the format +CCC.NNNNNNNNNNxEEEE, where C =
country code, N = phone number, and E =
extension (optional), 7 bit ASCII only.

fax

Optional

Maximum length: 20 alphanumeric characters.

40

Parameter
name

Obligation

Format/Constraints

email

Required

Maximum length: 255 alphanumeric characters,


validated according to rfc822.

.UK contact requirements


Note: Technical contact information is not required or accepted for .UK.

Parameter
name

Obligation

Format/Constraints

first_name

Required

Maximum length: 64 alphanumeric characters.

last_name

Required

Maximum length: 64 alphanumeric characters.

org_name

Optional

Maximum length: 64 alphanumeric characters.

address1

Required

Maximum length: 100 alphanumeric characters.

address2

Optional

Maximum length: 100 alphanumeric characters.

address3

Optional

Maximum length: 100 alphanumeric characters.

city

Required

Maximum length: 64 alphanumeric characters.

state

Required if
Maximum length: 32 alphanumeric characters.
country = CA or
US

postal_code

Required

Maximum length: 32 alphanumeric characters.

country

Required

Maximum length: 2 alphanumeric characters.

phone

Required

Maximum length: 20 alphanumeric characters, in


the format +CCC.NNNNNNNNNNxEEEE, where C =
country code, N = phone number, and E =
extension (optional).

fax

Optional

Maximum length: 20 alphanumeric characters.

email

Required

Maximum length: 255 alphanumeric characters,


validated according to rfc822.

41

TLD Data
The tld_data associative array contains that contains additional information
that is required by some registries, such as the residency of the registrant.
For instance, .ASIA domains require Charter Eligibility Declaration (CED)
information to demonstrate that at least one of the contacts is a member of
the .ASIA community, and this information is provided within the tld_data
associative array, under ced_info.
The allowed values for tld_data are:

au_registrant_infoEligibility requirements for .AU registrants.

ipr_dataSponsored Community information associated with .XXX

br_register_numberLegal Brazilian identifier.


ced_infoCharter Eligibility Declaration (CED) information for .ASIA

domains.
domains.

it_registrant_infoRegional presence requirements for .IT domains.


nexusAmerican presence requirements for .US domains.
professional_dataThe professional designation information that is

associated with the .PRO domain.


registrant_extra_info Additional parameters that are required by
various domain registries. See below for specific requirements for each
TLD.
The tld_data information is used by the following commands: sw_register,
modify domain, get domain, get_order_info, and trade domain (.FR only).

.AERO registrant_extra_info
Registration of .AERO domains is restricted to members of the aviation
community such as airlines, airports, and qualifying companies and
individuals.
To prove that they meet the requirements, registrants must provide an
Eligibility and Name Selection (ENS) ID and password, which can be obtained
by applying to the registry through this site:
http://www.nic.aero/registration/manage_your_aero_id/apply.
Parameters within the registrant_extra_info associative array are described
below.
Parameter name Definition/Value

sw_register
(request)

aero_ens_id

Eligibility and Name Selection (ENS)


identifier

Required

aero_ens_password

Eligibility and Name Selection (ENS)


password

Required

42

.ASIA ced_info
The ced_info associative array contains Charter Eligibility Declaration (CED)
information to satisfy regional presence requirements of the .ASIA registry,
including the stated purpose of the domain, the category of the registrant
and the country code validator.
Parameters within the ced_info associative array are described below.
Parameter Definition/Value
name
contact_
type

The contact that is the


designated CED Contact.

sw_
register
(request)

modify
domain
(request)

get
get_order
domain
_info
(response) (response)

Required

Required

Always
returned

Always
returned

Allowed values are owner,


admin, tech, or billing.
id_number

Identification number or
code of reference for the
specified id_type, for
example, a passport
number.

Required

Required

Always
returned

Always
returned

id_type

The type of ID used to


validate the CED
information.

Required

Required

Always
returned

Always
returned

Allowed values are


passport, certificate (of
Incorporation or business
registration), legislation
(act, decree or legislation
chartering the formation of
an entity),
societyRegistry,
politicalPartyRegistry, or
other.
Note: If you specify
other, you must also
submit the id_type_info
parameter.
id_type_info A description of the id type; Required if Required if Returned if Returned if
the maximum number of
id_type = id_type = id_type = id_type =
characters allowed is 255. other
other
other
other
legal_entity The legal entity type of the Required
_type
CED.

Required

Always
returned

Always
returned

Allowed values are


naturalPerson,
corporation,
cooperative,
partnership,
43

Parameter Definition/Value
name

sw_
register
(request)

modify
domain
(request)

get_order
get
domain
_info
(response) (response)

legal_entity_ A description of the legal


entity type; the maximum
type_info
number of characters
allowed is 255.

Required if
legal_
entity_
type =
other

Required if
legal_
entity_
type =
other

Returned if
legal_
entity_
type =
other

locality_city The city where the CED


contact resides.

Optional

Optional

Returned if Returned if
submitted
submitted
in the order in the order

locality_
country

County code from the list of Required


qualifying countries. For a
definition of the
geographical boundaries of
the Asia/Australia/Pacific
region, see
http://www.icann.org/mont
real/geo-regions-topic.htm

Required

Always
returned

locality_
state_prov

The state or province


where the CED contact
resides.

Optional

Returned if Returned if
submitted
submitted
in the order in the order

government,
politicalParty, society,
institution, or other.

Note: If you specify other,


you must also submit the
legal_entity_type_info
parameter.

Optional

Returned if
legal_
entity_
type =
other

Always
returned

.AU au_registrant_info
The au_registrant_info associative array contains information about specific
requirements that registrants of .AU domains must meet.
Parameters within the au_registrant_info associative array are described
below.
Parameter Definition/Value
name
eligibility_id

The identifier of the


eligibility document.

sw_
register
(request)

Required for
.ASN.AU,
Important: This number .COM.AU
will be verified, and if you .NET.AU, and
.ORG.AU
submit an incorrect

get domain get_order_


(response) info
(response)
Always
returned

Returned if
submitted in
the order

44

Parameter Definition/Value
name
number, the registration
will fail.

eligibility_id The Eligibility ID type. The


_type
allowed values depend on
the eligibility_type
specified.
Allowed value for Charity
is ABN.

sw_
register
(request)

get domain get_order_


(response) info
(response)

Note: This
value is
optional for
.ID.AU unless
you specify an
eligibility_id_
type, in which
case this value
is required.
Required for
.ASN.AU,
.COM.AU,
.NET.AU, and
.ORG.AU

Always
returned

Returned if
submitted in
the order

Allowed value for Club is


ABN.
Allowed values for
Incorporated
Association are ACT BN,
NSW BN, NT BN, QLD
BN, SA BN, TAS BN, VIC
BN, and WA BN.
Allowed values for Nonprofit Organization are
ABN, ACT BN, ACN,
NSW BN, NT BN, QLD
BN, SA BN, TAS BN, VIC
BN, WA BN, and OTHER.
Allowed value for Trade
Union is OTHER.
Allowed value for
Company is ACN.
Allowed value for
Registered Business is
OTHER.
Allowed value for Sole
Trader is ABN.
Allowed value for
Trademark Owner is
TM.
Allowed value for Pending
Trademark Owner is
45

Parameter Definition/Value
name

sw_
register
(request)

get domain get_order_


(response) info
(response)

TM.
Allowed value for
Partnership is ABN.
eligibility_
name

The name on the eligibility Required for


ID document.
.ASN.AU,
.COM.AU,
.NET.AU, and
.ORG.AU

Returned if
submitted in
the order

Returned if
submitted in
the order

eligibility_
type

The reason that the


Required
registrant is eligible for the
domain name. The
eligibility_type must
correspond to the
eligibility_name. For
example, if the registrant
is using their company
name to register the
domain, then their
eligibility_type is
Company. If they are
using their Registered
Business Name to register
the domain, then their
eligibility_type is
Registered Business,
even if they are also a
company.

Always
returned

Always
returned

Allowed values for


.ASN.AU and .ORG.AU
domains are:
Charity
Club
Incorporated
Association
Non-profit
Organization
Trade Union
Allowed values for
.COM.AU and .NET.AU
domains are:
Company
Partnership
Pending TM Owner

46

Parameter Definition/Value
name

sw_
register
(request)

get domain get_order_


(response) info
(response)

Registered
Business
Sole Trader
Trademark
Owner

Allowed value for .ID.AU


domains is
Citizen/Resident

policy_
reason

Indicates the reason the


Required
registrant is entitled to the
domain name.

Returned if
submitted in
the order

Returned if
submitted in
the order

Required if
registrant_
id_type =
ACN or ABN

Always
returned

Always
returned

Required

Always
returned

Always
returned

Allowed values are:

registrant_
id

1The name
exactly matches
the acronym or
abbreviation of the
registrant's
company or trading
name, organization
or association
name, or
trademark.

2The name is
connected closely
and substantially to
the registrant. This
is the default.

The registrant identifier.


Must correspond to the
registrant_id_type value
(that is, the ABN or ACN),
Important: This number
will be verified, and if you
submit an incorrect
number, the registration
will fail.

registrant_
id_type

The Registrant ID type.


Allowed values are:

ACNAustralian
Company Number

ABNAustralian
47

Parameter Definition/Value
name

sw_
register
(request)

get domain get_order_


(response) info
(response)

Required

Always
returned

Business Number
registrant
name

The legal entity such as a


company, incorporated
association, government
agency or individual
person. Cannot be a
registered business name
or trademark.

Always
returned

.CL registrant_extra_info
The registrant_extra_info associative array contains information to satisfy
requirements of the registry.
Parameters within the registrant_extra_info associative array are described
below.
Parameter Definition/ sw_
register
name
Value
(request)

id_card_
number

registrant_
type

registrant_
vat_id

The number of
the
individual's
identity card.

Optional; can
be submitted
when
registrant_
type =
individual

trade
domain
(request)

get domain
(response)

get_order_
info
(response)

Optional; can
be submitted
when
registrant_
type =
individual

Returned if
applicable and
is_success =
true

Returned if
applicable and
is_success =
true l

Required

Returned if
is_success =
true

Returned if
is_success =
true

Optional; can
be submitted
when
registrant_
type =
organization

Returned if
applicable and
is_success =
true

Returned if
applicable and
is_success =
true

The entity
type of
registrant.
Allowed values Required
are individual
or
organization.
Value Added
Tax
registration
number.

Optional; can
be submitted
when
registrant_
type =
organization

48

.COM.AR, .PT, and .COM.PT registrant_extra_info


The registrant_extra_info associative array contains information to satisfy
requirements of the registry.
Parameter Definition/ sw_
register
name
Value
(request)

trade domain get domain get_order_


info
(request)
(response)
(response)

id_card_
number

The number of
the
individual's
identity card.

Required when
registrant_
type =
individual

Required when
registrant_
type =
individual

Returned if
Returned if
is_success = is_success =
true and
true
registrant_
type =
individual

registrant_

The entity
type of
registrant.

Required

Required

Returned if
Returned if
is_success = is_success =
true
true

Required

Required

Returned if
Returned if
is_success = is_success =
true
true

type

Allowed values
are individual
or
organization.
tax_number The number
used for tax
purposes.

.COM.BR tld_data
The tld_data associative array contains information contains information to
satisfy requirements of the registry.
Parameters within the tld_data associative array are described below.
Parameter Definition/Value
name

sw_
register
(request)

get
get_order_
domain
info
(response) (response)

br_register_ The Brazilian legal identifier.


number
For organizations, this is the
SNPJ (Business
Identifier/Cadastro Nacional de
Pessoa Juridica)

Required

Returned if Returned if
is_success is_success
= true
= true

For individuals, this is the CPF


(Individual Tax
Number/Cadastro de Pessoa
Fisica)

49

.COOP registrant_extra_info
Registration of .COOP domains is restricted to cooperatives and related
organizations. The registrant_extra_info associative array contains
information to satisfy requirements of the .COOP registry.
Parameters within the registrant_extra_info associative array are described
below.
Parameter Definition/
name
Value

coop_
verification_
code

sw_
register
(request)

The coop
Required
verification code
(CVC) is issued
by dotCoop, and
proves that the
registrant is
eligible to
register the
domain name.

modify
domain
(request)

get
get_order
domain
_ info
(response) (response)

Required

Returned if Returned if
is_success is_success
= true
= true

.DE registrant_extra_info
The registrant_extra_info associative array contains information to satisfy
requirements of the registry.
Parameters within the registrant_extra_info associative array are described
below.
Parameter Definition/ sw_register
name
Value
(request)

get domain
(response)

get_order_info
(response)

registrant_
type

Returned if
is_success =
true

Returned if
is_success =
true

The entity
type of
registrant.

Required

Allowed values
are individual
or
organization.

50

.DK registrant_extra_info
The registrant_extra_info associative array contains information to satisfy
requirements of the registry.
Parameters within the registrant_extra_info associative array are described
below.
Parameter Definition/ sw_registe trade
domain
name
Value
r
(request)
(request)

get domain
(response)

get_order_
info
(response)

registrant_
type

The entity
type of
registrant.

Required

Required

Returned if
is_success =
true

Returned if
is_success =
true

Required
when
registrant_
type =
organization

Required when
registrant_
type =
organization

Returned if
is_success =
true and type
= organization

Returned if
is_success =
true and type
=
organization

Allowed values
are individual
or
organization.
registrant_
vat_id

Value Added
Tax
registration
number.

.FI. MY, and .SG registrant_extra_info


The registrant_extra_info associative array contains information to satisfy
requirements of the registry.
Parameters within the registrant_extra_info associative array are described
below.
Parameter Definition/ sw_
register
name
Value
(request)

trade
domain
(request)

get domain get_order_


(response) info
(response)

id_card_
number

The number of
the
individual's
identity card.

Required
when
registrant_
type =
individual

Required
when
registrant_
type =
individual

Returned if
is_success
= true and
registrant_
type =
individual

Returned if
is_success
= true and
registrant_
type =
individual

registrant_
type

The entity
type of
registrant.

Required

Required

Returned if
is_success
= true

Returned if
is_success
= true

Allowed values
51

Parameter Definition/ sw_


register
name
Value
(request)

trade
domain
(request)

get domain get_order_


(response) info
(response)

Required
when
registrant_
type =
organization

Returned if
is_success
= true and
registrant_
type =
organization

are individual
or
organization.
registration_ The business Required
number
number of the when
organization. registrant_
type =
organization

Returned if
is_success
= true and
registrant_
type =
organization

.FR registrant_extra_info
.FR domains are available to any individuals and organizations located in the
European Union, Switzerland, Norway, Iceland, or Liechtenstein. Individuals
must reside within one of the qualifying countries; organizations must have
their registered or main office located in a qualifying country; therefore,
when registering or transferring .FR domains, you must provide additional
residency information.
Parameters within the registrant_extra_info associative array are described
below.
Parameter Definition/Value
name

sw_
register
(request)

get_order trade
domain
_info
(response) (request)

country_of_ The two-letter ISO3166 code Required


birth
for the country in which the when
registrant was born.
registrant_
type =
individual

Returned
when
registrant
_type =
individual

Required
when
registrant_
type =
individual

date_of_
birth

The registrant's date of birth


in the format YYYY-MM-DD.

Required
when
registrant_
type =
individual

Returned
when
registrant
_type =
individual

Required
when
registrant_
type =
individual

place_of_
birth

The city in which the


individual was born.

Required
when
registrant_
type =
individual
and country_
of_birth =
FR

Returned
when
registrant
_type =
individual

Required
when
registrant_
type =
individual

52

Parameter Definition/Value
name

sw_
register
(request)

get_order trade
domain
_info
(response) (request)

postal_
code_of_
birth

The postal code of the


registrant's place of birth.

Required
when
registrant_
type =
individual
and country_
of_birth =
FR

Returned
when
registrant
_type =
individual

Required
when
registrant_
type =
individual

registrant_
type

The entity type of registrant. Required

Always
returned

Required

registrant_
vat_id

The Value Added Tax (VAT)


number of the organization.

Optional, but Returned if


recommended submitted
for
in the order
organizations
located in
France

Optional, but
recommended
for
organizations
located in
France

siren_siret

The 9 digit SIREN code or


the 14 digit SIRET code that
is used to identify the
business for tax reasons.

Optional, but Returned if


recommended submitted
for
in the order
organizations
located in
France

Optional, but
recommended
for
organizations
located in
France

trademark_ The organization's trademark Optional, but Returned if


recommended submitted
number
registration number, if
for
applicable.
in the order
organizations
located in
France

Optional, but
recommended
for
organizations
located in
France

Allowed values are


individual and
organization.

53

.HK registrant_extra_info
The registrant_extra_info associative array contains information to satisfy
requirements of the registry.
Parameters within the registrant_extra_info associative array are described
below.
Parameter Definition/ sw_
register
name
Value
(request)

trade
domain
(request)

get domain
(response)

get_order_
info
(response)

date_of_
birth

The
registrant's
date of birth in
the format
YYYY-MM-DD.

Required
when
registrant_
type =
individual

Required
when
registrant_
type =
individual

Returned if
is_success =
true and
registrant_
type =
individual

Returned if
is_success =
true and
registrant_
type =
individual

id_card_
number

The number of
the
individual's
identity card.

Required
when
registrant_
type =
individual

Required
when
registrant_
type =
individual

Returned if
is_success =
true and
registrant_
type =
individual

Returned if
is_success =
true and
registrant_
type =
individual

registrant_
type

The entity
type of
registrant.

Required

Required

Returned if
is_success =
true

Returned if
is_success =
true

Required
when
registrant_
type =
organization

Returned if
is_success =
true and
registrant_
type =
organization

Returned if
is_success =
true and
registrant_
type =
organization

Allowed values
are individual
and
organization.
registration_ The business Required
number
number of the when
organization. registrant_
type =
organization

.HU, and .CO.HU registrant_extra_info


The registrant_extra_info associative array contains information to satisfy
requirements of the registry.
Parameters within the registrant_extra_info associative array are described
below.

54

Parameter Definition/ sw_


register
name
Value
(request)

id_card_
number

registrant_
type

registrant_
vat_id

get domain
(response)

get_order_
info
(response)

Required when
registrant_
type =
individual

Returned if
is_success =
true and
registrant_
type =
individual

Returned if
is_success =
true and
registrant_
type =
individual

Allowed values Required


are individual
or
organization.

Required

Returned if
is_success =
true

Returned if
is_success =
true

Value Added
Tax
registration
number.

Required when
registrant_
type =
organization

Returned if
is_success =
true and
registrant_
type =
organization

Returned if
is_success =
true and
registrant_
type =
organization

The number of
the
individual's
identity card.

trade
domain
(request)

Required when
registrant_
type =
individual

The entity
type of
registrant.

Required when
registrant_
type =
organization

.IT it_registrant_info
The it_registrant_info associative array contains information to satisfy the
regional presence requirements of the registry.
Parameters within the it_registrant _info associative array are described
below.
Parameter Definition/Value
name

sw_
register
(request)

get domain get_order_


info
(response)
(response)

entity_type The legal entity type of


registrant.

Required

Always
returned

Always
returned

Allowed values are:

1Italian and
foreign natural
persons

2Companies/one
man companies

3Freelance
workers/professiona
ls

4Non-profit
55

Parameter Definition/Value
name

sw_
register
(request)

get domain get_order_


(response)
info
(response)

Optional

Returned if
submitted in
order

Returned if
submitted in
order

Required

Always
returned

Always
returned

organizations

5Public
organizations

6Other subjects

7Foreigners who
match 2-6

nationality_ The 2-digit ISO 3166-1


code
code that identifies the
Registrant's nationality.
If entity_type = 1,
nationality or owner's
country or both must be an
EU country.
If entity_type = 2-6, this
value must be IT.
If entity_type = 7, this
value must match owner's
country and must be an EU
country other than IT.

Note: Be sure to use


capital letters.
reg_code

An identifying number,
usually the VAT or Codice
Fiscale (numeric tax code).
The value that you need to
enter depends on the
entity type of the
registrant.

Italian citizens must


enter their Codice
Fiscale.

Non Italians not


living in Italy can
enter n.a.

Italian companies,
freelancers, and
other subjects must
enter their 11 digit
VAT number or tax
identification
number.

Italian non-profit
organizations must
56

Parameter Definition/Value
name

sw_
register
(request)

get domain get_order_


info
(response)
(response)

enter their VAT


number or tax
identification
number; however, if
they do not have
one,they can enter
n.a.

Non Italian entities


other than persons
(organizations,
freelancers,
companies, etc.)
may enter their VAT
number or n.a.

.JOBS registrant_extra_info
Registration of .JOBS domains is restricted to those who are involved in
Human Resource management. To be eligible, registrants must be a member
of the Society for Human Resource Management (SHRM) or involved in HR
practices that meet any of the following criteria:
Possess salaried-level human resource management experience.
Are certified by the Human Resource Certification Institute.
Are supportive of the SHRM Code of Ethical and Professional Standards
in Human Resource Management, as amended from time to time.
Consequently, when registering a .JOBS domain, registrants must complete
some additional information.

For more information on the restrictions and policies regarding .JOBS


registrations, see http://www.policy.jobs/
Parameters within the registrant_extra_info associative array are described
below.
Parameter
name

Definition/Value

sw_register modify
domain
(request)
(request)

get domain
(response)

jobs_admin_
type

Indicates whether the


registrant is the Admin
contact.

Required

Always
returned

Required

Allowed values are Yes


or No.

57

Definition/Value

Parameter
name

jobs_association Indicates whether the


registrant is a member
_member
of SHRM.

sw_register modify
domain
(request)
(request)

get domain
(response)

Required

Required

Always
returned

Allowed values are Yes


or No.
jobs_industry_
type

The type of business.

Optional

Optional

Returned if
submitted in
order

jobs_title

The registrant's job


title.

Optional

Optional

Returned if
submitted in
order

jobs_website

The URL for the


registrant's company.

Required

Required

Always
returned

.LV and .COM.LV registrant_extra_info


The registrant_extra_info associative array contains information to satisfy
requirements of the registry.
Parameters within the registrant_extra_info associative array are described
below.
Parameter Definition/ sw_
register
name
Value
(request)
id_card_
number

The number of
the
individual's
identity card.

Required
when
registrant_
type =
individual

registration_ The business Required


number
number of the when
organization. registrant_
type =
organization
registrant_
type

The entity
type of
registrant.

Required

modify
domain
(request)

get domain get_order_


info
(response)
(response)

Required when
registrant_
type =
individual

Returned if
is_success =
true and
registrant_
type =
individual

Returned if
is_success
= true and
registrant_
type =
individual

Required when
registrant_
type =
organization

Returned if
is_success =
true and
registrant_
type =
organization

Returned if
is_success
= true and
registrant_
type =
organization

Required

Returned if
Returned if
is_success = is_success
true
= true

Allowed values
are
58

Parameter Definition/ sw_


register
name
Value
(request)

modify
domain
(request)

get domain get_order_


info
(response)
(response)

Required when
registrant_
type =
organization

Returned if
is_success =
true and
registrant_
type =
organization

individual or
organization.
registrant_
vat_id

The Value
Added Tax
(VAT) number
of the
organization

Required
when
registrant_
type =
organization

Returned if
is_success
= true and
registrant_
type =
organization

.MX, .COM.MX, and .CO.ZA registrant_extra_info


The registrant_extra_info associative array contains information to satisfy
requirements of the registry.
Parameters within the registrant_extra_info associative array are described
below.
Parameter Definition/ sw_
register
name
Value
(request)

modify
domain
(request)

get domain
(response)

registrant_
type

Required

Returned if
Returned if
is_success = is_success =
true
true

The entity
type of
registrant.

Required

get_order_
info
(response)

Allowed values
are
individual or
organization.

.NO registrant_extra_info
The registrant_extra_info associative array contains information to satisfy
requirements of the registry.
Parameters within the registrant_extra_info associative array are described
below.
Parameter Definition/ sw_
register
name
Value
(request)

trade
domain
(request)

get domain get_order_


(response) info
(response)

registration_ The number


Required
number
of the
individual's
identity card.

Required

Returned if
Returned if
is_success = is_success =
true
true

59

.NYC registrant_extra_info
The registrant_extra_info associative array contains information to satisfy
requirements of the registry.
Parameters within the registrant_extra_info associative array are described
below.
Parameter Definition/ sw_register
name
Value
(request)

get domain
(response)

get_order_info
(response)

registrant_
type

Returned if
is_success =
true

Returned if
is_success =
true

The entity
type of
registrant.

Required

Allowed values
are individual
or
organization.

.PM, .RE, .TF, .WF, and .YT registrant_extra_info


The registrant_extra_info associative array contains information to satisfy
requirements of the registry.
Parameters within the registrant_extra_info associative array are described
below.
Parameter Definition/ sw_
register
name
Value
(request)

trade
domain
(request)

get domain get_order_


info
(response)
(response)

country_of_ The country in


which the
birth
registrant was
born.

Required
when
registrant_
type =
individual

Required
when
registrant_
type =
individual

Returned if
is_success =
true and
registrant_
type =
individual

Returned if
is_success
= true and
registrant_
type =
individual

date_of_
birth

The
registrant's
date of birth in
the format
YYYY-MM-DD.

Required
when
registrant_
type =
individual

Required
when
registrant_
type =
individual

Returned if
is_success =
true and
registrant_
type =
individual

Returned if
is_success
= true and
registrant_
type =
individual

place_of_
birth

The city in
which the
individual was
born.

Required
when
registrant_
type =
individual

Required
when
registrant_
type =
individual

Returned if
is_success =
true and
registrant_
type =

Returned if
is_success
= true and
registrant_
type =
60

Parameter Definition/ sw_


name
Value
register
(request)

trade
domain
(request)

and
country_of_
birth = FR

get domain get_order_


info
(response)
(response)
individual

individual

postal_code_ The postal


code of the
of_birth
registrant's
place of birth.

Required
when
registrant_
type =
individual
and
country_of_
birth = FR

Required
when
registrant_
type =
individual
and
country_of_
birth = FR

Returned if
is_success =
true and
registrant_
type =
individual

Returned if
is_success
= true and
registrant_
type =
individual

province_of_ The province


in which the
birth
individual was
born.

Required
when
registrant_
type =
individual

Required
when
registrant_
type =
individual

Returned if
is_success =
true and
registrant_
type =
individual

Returned if
is_success
= true and
registrant_
type =
individual

registrant_
type

Required

Required

Returned if
Returned if
is_success = is_success
true
= true

Optional. May
be used when
registrant_
type =
organization

Optional. May
be used when
registrant_
type =
organization

Returned if
is_success =
true if
submitted in
the order

Returned if
is_success
= true if
submitted in
the order

registration_ The business Optional, but


number
number of the recommended
organization. for
organizations
located in
France

Optional, but
recommended
for
organizations
located in
France

Returned if
is_success =
true if
submitted in
the order

Returned if
is_success
= true if
submitted in
the order

trademark_
number

Optional but
recommended
when
registrant_
type =
organization

Returned if
is_success =
true if
submitted in
the order

Returned if
is_success
= true if
submitted in
the order

The entity
type of
registrant.
Allowed values
are individual
and
organization.

registrant_
vat_id

The Value
Added Tax
(VAT) number
of the
organization.

The number
assigned to
the
organizations
pending or
registered
trademark.

Optional but
recommended
when
registrant_
type =
organization

61

.PRO professional_data
In order to register a .PRO domain name, the registrant must belong to an
accredited profession.
Parameters within the professional_data associative array are described
below.
Parameter Definition/Value
name

sw_
register
(request)

modify
domain
(request)

get
get_order
domain
_info
(response) (response)

authority

The name of the authority


from which the registrant
receives their professional
credentials.

Optional

Optional

Returned if Returned if
submitted submitted
in order
in order

authority_
website

The URL to an online


resource for the authority,
preferably, a member
search directory.

Optional

Optional

Returned if Returned if
submitted submitted
in order
in order

license_
number

The license number of the


registrant's credentials, if
applicable.

Optional

Optional

Returned if Returned if
submitted submitted
in order
in order

profession

The stated profession of


the registrant.

Required

Required

Always
returned

Always
returned

.RO, and .COM.RO registrant_extra_info


The registrant_extra_info associative array contains information to satisfy
requirements of the registry.
Parameters within the registrant_extra_info associative array are described
below.
Parameter Definition/ sw_
register
name
Value
(request)

trade
domain
(request)

get domain get_order_


info
(response)
(response)

id_card_
number

Required when
registrant_
type =
individual

Returned if
is_success =
true and
registrant_
type =
individual

The number of
the
individual's
identity card.

Required
when
registrant_
type =
individual

Returned if
is_success
= true and
registrant_
type =
individual

62

Parameter Definition/ sw_


register
name
Value
(request)

trade
domain
(request)

get domain get_order_


info
(response)
(response)

registration_ The business Required


number of the when
number
organization. registrant_
type =
organization

Required when
registrant_
type =
organization

Returned if
is_success =
true and
registrant_
type =
organization

registrant_
type

Required

Required

Returned if
Returned if
is_success = is_success
true
= true

Required
when
registrant_
type =
organization

Required when
registrant_
type =
organization

Returned if
is_success =
true and
registrant_
type =
organization

The entity
type of
registrant.

Returned if
is_success
= true and
registrant_
type =
organization

Allowed values
are
individual or
organization.
registrant_
vat_id

The Value
Added Tax
(VAT) number
of the
organization

Returned if
is_success
= true and
registrant_
type =
organization

.RU registrant_extra_info
The registrant_extra_info associative array contains information to satisfy
requirements of the registry.
Parameters within the registrant_extra_info associative array are described
below.
Parameter Definition sw_
name
register
/Value
(request)

trade
domain
(request)

get domain get_order_


info
(response)
(response)

date_of_
birth

Required
when
registrant_
type =
individual

Returned if
is_success =
true and
registrant_
type =
individual

The
registrant's
date of
birth in the
format
YYYY-MMDD.

Required
when
registrant_
type =
individual

Returned if
is_success =
true and
registrant_
type =
individual

63

Parameter Definition sw_


register
name
/Value
(request)

trade
domain
(request)

get domain get_order_


info
(response)
(response)

id_card_
authority

The name
of the
issuer.

Required
when
registrant_
type =
individual

Required
when
registrant_
type =
individual

Returned if
is_success =
true and
registrant_
type =
individual

Returned if
is_success =
true and
registrant_
type =
individual

id_card_
issue_date

The date
that the ID
card was
issued, in
the format
YYYY-MMDD.

Required
when
registrant_
type =
individual

Required
when
registrant_
type =
individual

Returned if
is_success =
true and
registrant_
type =
individual

Returned if
is_success =
true and
registrant_
type =
individual

id_card_
number

The number
of the
individual's
identity
card.

Required
when
registrant_
type =
individual

Required
when
registrant_
type =
individual

Returned if
is_success =
true and
registrant_
type =
individual

Returned if
is_success =
true and
registrant_
type =
individual

place_of_
birth

The city in
which the
individual
was born.

Required
when
registrant_
type =
individual

Required
when
registrant_
type =
individual

Returned if
is_success =
true and
registrant_
type =
individual

Returned if
is_success =
true and
registrant_
type =
individual

registrant_
type

The entity
type of
registrant.

Required

Required

Returned if
Returned if
is_success = is_success =
true
true

Allowed
values are
individual
and
organizati
on.

64

.SE and .NU registrant_extra_info


The registrant_extra_info associative array contains information to satisfy
requirements of the registry.
Parameters within the registrant_extra_info associative array are described
below.
Parameter Definition/ sw_
register
name
Value
(request)

trade
domain
(request)

get domain get_order_


info
(response)
(response)

id_card_num The number of


ber
the
individual's
identity card.

Required
when
registrant_
type =
individual

Required
when
registrant_
type =
individual

Returned if
is_success =
true and
registrant_
type =
individual

registrant_
type

Required

Required

Returned if
Returned if
is_success = is_success =
true
true

Required
when
registrant_
type =
organization

Required
when
registrant_
type =
organization

Returned if
is_success =
true and
registrant_
type =
organization

Returned if
is_success =
true and
registrant_
type =
organization

registration_ The business Required


number
number of the when
organization
registrant_
type =
organization

Required
when
registrant_
type =
organization

Returned if
is_success =
true and
registrant_
type =
organization

Returned if
is_success =
true and
registrant_
type =
organization

The entity
type of
registrant.

Returned if
is_success =
true and
registrant_
type =
individual

Allowed values
are
individual or
organization.
registrant_
vat_id

The Value
Added Tax
(VAT) number
of the
organization

65

.TRAVEL registrant_extra_info
In order to register a .TRAVEL domain name, the registrant must be a
participant in the travel and tourism industry, and they must have a Unique
Identifying Number (UIN).
Parameters within the registrant_extra_info associative array are described
below.
Parameter Definition/Value
name
travel_uin

sw_
register
(request)

The Unique Identifying


Optional
Number that proves the
registrant is a participant in
the travel and tourism
industry

modify
domain
(request)

get
get_order
domain
_info
(response) (response)

Optional

Returned if Returned if
submitted submitted
in order
in order

.US nexus
The nexus associative array contains Nexus information for .US domains, to
satisfy the American presence requirements of the registry.
Parameters within the nexus associative array are described below.
Parameter Definition/Value
name

sw_
register
(request)

modify
domain
(request)

get
get_order
domain
_info
(response) (response)

app_
purpose

Required

Required

Always
returned

Always
returned

Required

Required

Always
returned

Always
returned

category

A description of the
domain's application
purpose:

P1Business use
for profit.

P2Non-profit
business, club,
association,
religious
organization, and so
on.

P3Personal use.

P4Education
purposes.

P5Government
purposes.

A description of the
domain's nexus category:

C11A citizen of
66

Parameter Definition/Value
name

sw_
register
(request)

modify
domain
(request)

get
get_order
domain
_info
(response) (response)

the U.S. or any of


its territories.

validator

C12A permanent
resident of the U.S.
or any of its
territories.

C21An
organization
incorporated within
the U.S.

C31An entity that


regularly engages in
lawful activities in
the U.S.

C32An entity that


has an office or
other facility in the
U.S.

The domain owner's


country of citizenship.
Value must be a valid twoletter country code.

Required if Required if
Returned if
category = category = category
C31 or
C31 or C32 = C31 or
C32
C32

Returned if
category
= C31 or
C32

.XXX ipr_data
.XXX domains are available to those within the adult entertainment industry
who are members of the Sponsored Community (SC). The ipr_data
associative array contains information to prove that the registrant is a
member of the Sponsored Community.
Parameters within the ipr_data associative array are described below.
Parameter Definition/Value
name

sw_
register
(request)

icm_
The ID number that was
Optional
membership provided when the
_id
registrant successfully
completed the XXX
Sponsored Community
validation process. If this
value is not submitted with
the domain registration,
the registry will contact the

modify
domain
(request)

get
get_order
domain
_info
(response) (response)

Optional

Returned if Returned if
submitted submitted
in the order in the
order

67

Parameter Definition/Value
name

modify
domain
(request)

get_order
get
domain
_info
(response) (response)

N/A

N/A

N/A

Optional

N/A

N/A

Returned if
submitted
in the
order

Optional

N/A

N/A

N/A

sw_
register
(request)

registrant with instructions


on how to become a
member of the Sponsored
Community.
If you submit this value,
you do not need to submit
any of the other ipr_data
values.
ipr_email

The email address to which Optional


all communications from
the registry will be
addressed.
If you submit this value,
you must also submit the
ipr_name value.

ipr_name

The name (in the format


firstname lastname) to
which all communications
from the registry will be
addressed.
If you submit this value,
you must also submit the
ipr_email value.

ipr_non_
resolver

When this value is set to 1


the domain will not
resolve.
If you submit this value,
you do not need to submit
any of the other ipr_data
values.

68

Lookup Commands
This section contains the following commands:
belongs_to_rspDetermines whether domain belongs to the RSP who
issued the command.
cira_email_pwdDeprecated. Sends CIRA login information to
admin contact.
get(domain)Queries various types of data associated with a
domain.
get_domain_affiliate_idRetrieves the affiliate id associated with a
domain.
get_balanceQueries the requester's account, and returns the total
amount of money in the account and the amount that is allocated to
pending transactions.
get_ca_blocker_listDeprecated. Checks for any domains
blocking the registration of a new .CA domain.
get_certReturns the certificate for the specified Trust Service
product as well as associated product information.
get_deleted_domainsLists domains that have been deleted due to
expiration or request.
get_domain_affiliate_idRetrieves the affiliate id associated with a
domain.
get_domains_contactsQueries contact information for a list of
domains.
get_domains_by_expiredateQueries domains expiring within a date
range.
get_notesRetrieves the domain notes that detail the history of the
domain, for example, renewals and transfers.
get_order_infoQueries all information related to an order.
get_orders_by_domainRetrieves information about orders placed for a
specific domain.
get_priceQueries the price of a domain.
get_product_infoQueries the properties of the specified Trust Service
product.
get_productsReturns a list of the Trust Service products whose
expiry dates are within a specific date range.
get_registrant_verification_statusReturns the current state of the
verification request.
lookup (domain)Determines the availability of a domain.
name_suggestChecks whether a name, word, is phrase is
available for registration.
uk_get_blocker_contactChecks whether the specified domain name is
registered as a third level .UK domain (for example. .co.uk or .org.uk)
with the same registrar and reseller, and if so, returns the owner contact
details.
69

belongs_to_rsp
Description
Action & object
action = belongs_to_rsp
object = domain

Usage
Determines whether the domain belongs to the RSP who issued the
command.

Request parameters for belongs_to_rsp


Standard parameters
action = belongs_to_rsp
object = domain
attributes

Attributes
Parameters within the attributes associative array are described below.
Parameter name

Obligation

Definition/Value

domain

Required

The domain to be checked.

Response parameters for belongs_to_rsp


Standard parameters
action = reply
object = domain
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

70

Attributes
If the request is successful, the attributes associative array may include the
following:
Parameter
name

Obligation

belongs_to_rsp

Returned if is_success = Whether the domain belongs to the


true
RSP who issued the command.

domain_expdate

Returned when
belongs_to_RSP = 1
and is_success = true

Definition/Value

0Does not belong to the RSP

1Belongs to the RSP

Domain's expiry date

Examples for belongs_to_rsp


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">belongs_to_rsp</item>
<item key="object">domain</item>
<item key="attributes">
<dt_assoc>
<item key="domain">example.com</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>
71

Response
If belongs to RSP
<?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">DOMAIN</item>
<item key="attributes">
<dt_assoc>
<item key="belongs_to_rsp">1</item>
<item key="domain_expdate">2007-08-26 11:40:14</item>
</dt_assoc>
</item>
<item key="response_text">Query successful</item>
<item key="is_success">1</item>
<item key="response_code">200</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

If does not belong to RSP


<?xml version='1.0' encoding='UTF-8' standalone='no'?>
<!DOCTYPE OPS_envelope SYSTEM 'ops.dtd'>
<OPS_envelope>
<header>
<version>0.9</version>
</header>
72

<body>
<data_block>
<dt_assoc>
<item key="protocol">XCP</item>
<item key="action">REPLY</item>
<item key="object">DOMAIN</item>
<item key="attributes">
<dt_assoc>
<item key="belongs_to_rsp">0</item>
</dt_assoc>
</item>
<item key="response_text">Query successful</item>
<item key="is_success">1</item>
<item key="response_code">200</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

73

cira_email_pwd
Description
Action & object
action = cira_email_pwd
object = domain

Usage
Sends the CIRA login information (used for confirming critical changes) to the
email address associated with a .CA domain's admin contact.
Important: This command has been deprecated. If this command is part of
your current integration, it will continue to work; however, the results will be
ignored. The response will return 'is_success' => '1'.

Request parameters for cira_email_pwd


Standard parameters
action = cira_email_pwd
object = domain
attributes

Attributes
Parameters within the attributes associative array are described below.
Parameter
name

Obligation

Definition / Value

domain

Required

The domain for which the login information is to


be sent.

Response parameters for cira_email_pwd


Standard parameters
action = reply
object = domain
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
74

Examples for cira_email_pwd


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">CIRA_EMAIL_PWD</item>
<item key="object">DOMAIN</item>
<item key="attributes">
<dt_assoc>
<item key="domain">example.ca</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>
75

<item key="protocol">XCP</item>
<item key="action">reply</item>
<item key="object">domain</item>
<item key="is_success">1</item>
<item key="response_code">200</item>
<item key="response_text">Command verified</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

76

get_balance
Description
Action & object
action = get_balance
object = balance

Usage
Queries the requester's account, and returns the total amount of money in
the account and the amount that is allocated to pending transactions.

Request parameters for get_balance


Standard parameters
action = get_balance
object = balance
registrant_ip = valid IP address of the registrant
attributes

Response parameters for get_balance


Standard parameters
action = reply
object = balance
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

balance

Returned if
The total amount of money in the requester's
is_success = account, including the amount that is allocated to
true
pending transactions.

77

Parameter
name

Obligation

Definition / Value

hold_balance

Returned if
The amount of money in the requester's account
is_success = that is allocated to pending transactions.
true

Examples for get_balance


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">GET_BALANCE</item>
<item key="object">BALANCE</item>
<item key="registrant_ip"/>
</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>
78

<data_block>
<dt_assoc>
<item key="protocol">XCP</item>
<item key="action">REPLY</item>
<item key="object">BALANCE</item>
<item key="is_success">1</item>
<item key="response_code">200</item>
<item key="response_text">Command successful</item>
<item key="attributes">
<dt_assoc>
<item key="balance">8549.18</item>
<item key="hold_balance">1676.05</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

79

get_ca_blocker_list
Description
Action & object
action = get_ca_blocker_list
object = domain

Usage
Before a .CA domain can be registered, it is checked against the CIRA
registry for any conflicting domains. If a variation of the requested domain is
already registered, the requested domain registration is put on hold. For
example, if a registrant owns 'domain.ca' or 'domain.pv.ca' (where .pv is the
provincial code), the CIRA system automatically reserves all variants of the
name.
This command checks for any domains blocking the registration of a new .CA
domain, and returns a list of those domains, if any exist. If blockers exist,
the .CA domain cannot be registered until the owners of the blocker domains
consent.
Important: This command has been deprecated. If this command is part of
your current integration, it will continue to work; however, the results will be
ignored. The response will return 'is_success' => '1'.

Request parameters for get_ca_blocker_list


Standard parameters
action = get_ca_blocker_list
object = domain
attributes

Attributes
Parameters within the attributes associative array are described below.
Parameter name Obligation

Definition / Value

domain

The .CA domain to query for blocking domains.

Optional

80

Response parameters for get_ca_blocker_list


Standard parameters
action = reply
object = domain
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

blocker_list

Contains a list of all .CA domains that are blocking


Returned if
is_success = the registration of the specified .CA domain.
true
For more information, see the Blocker_List table
below.

Blocker_List
Parameters within the blocker_list associative array are described below.
Parameter
name

Obligation

Definition / Value

admin_email

Always returned

Admin email address of the blocking domain.

owner_org

Always returned

Name of owner of the blocking domain.

registrar

Always returned

Current registrar of the blocking domain.

tech_email

Always returned

Tech email address of the blocking domain.

81

Examples for get_ca_blocker_list


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">get_ca_blocker_list</item>
<item key="object">domain</item>
<item key="attributes">
<dt_assoc>
<item key="domain">example.ca</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>
82

<item key="action">REPLY</item>
<item key="object">DOMAIN</item>
<item key="is_success">1</item>
<item key="response_code">200</item>
<item key="response_text">get_ca_blocker_list command is
deprecated</item>
<item key="attributes">
<dt_assoc>
<item key="blocker_list">
<dt_assoc>
</dt_assoc>
</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

83

get_cert
Description
Action & object
action = get_cert
object = trust_service

Usage
Returns the certificate for the specified Trust Service product as well as
associated product information.
Note: This command can only be used for orders whose status is Completed.

Request parameters for get_cert


Standard parameters
action = get_cert
object = trust_service
attributes

Attributes
Parameters within the attributes associative array are described below.
Parameter
name

Obligation

Definition/Value

order_id

Required if
The Trust Service order ID number.
product_id is not
submitted

product_id

Required if
order_id is not
submitted

The Trust Service ID number.

return_ca_certs

Optional

If this parameter is included and set to 1, the


response will include root CA and
intermediate certificates.

return_pkcs7_cert

Optional

If this parameter is included and set to 1, the


response will include the PKCS#7 format
certificate.

84

Response parameters for get_cert


Standard parameters
action = reply
object = trust_service

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

cert_data

Returned if
is_success =
true

The Trust Service Certificate.

Returned if
is_success =
true

The contact email address that was


submitted with the Trust Service order; may
be the admin email address or the
organization email address, depending on
the product type.

contact_email

For more information, see the cert_data


table below.

Note: The contact_email value can be


updated by using the update_product
command.
domain

Returned if
is_success =
true

The domain with which the Trust Service is


associated.

expiry_date

Returned if
is_success =
true

The date on which the Trust Service


certificate expires.

issue_date

Returned if
is_success =
true

The date on which the Trust Service


certificate was issued.

product_id

Returned if
is_success =
true

The ID number for the Trust Service.

85

Parameter
name

Obligation

Definition/Value

product_type

Returned if
is_success =
true

The Trust Service product type.

start_date

Returned if
is_success =
true

Allowed values are:

comodo_ev

comodo_instantssl

comodo_premiumssl

comodo_premiumssl_wildcard

comodo_ssl

comodo_wildcard

malwarescan

quickssl

quickssl_premium

securesite

securesite_pro

securesite_ev

securesite_pro_ev

sgcsuper_certs

sitelock_basic

sitelock_premium

sitelock_enterprise

ssl123

sslwebserver

sslwebserver_wildcard

sslwebserver_ev

truebizid

truebizid_ev

truebizid_wildcard

truste_hpp (Hosted Privacy


Policy)

truste_tps (TRUSTE Privacy Policy


with seal)

trustwave_dv

trustwave_ev

trustwave_premiumssl

trustwave_premiumssl_wildcard

The effective date for the Trust Service.

86

Parameter
name

Obligation

Definition/Value

state

Returned if
is_success =
true

The state of the product. Allowed values are:

expired

active

renewing

renewed

revoked

cert_data
Parameters within the cert_data associative array are described below.
Parameter
name

Obligation

Definition/Value

ca_certificates

Returned if
return_ca_certs =
1

An array that includes the ROOT or


Intermediate CA certificates chain, in order.

certificate

Returned if
is_success = true

The Trust Service certificate that was


issued.

pkcs7

The PKCS#7 format certificate that was


Returned if
return_pkcs7_cert issued.
=1

Note: Trustwave does not return CA


certificates; however, the intermediate
bundle can be downloaded by visiting the
TrustwaveSupport page.

Examples for get_cert


Example 1
Uses the order ID to retrieve the properties for a Trust Service product.

Request
<?xml version='1.0' encoding='UTF-8'?>
<OPS_envelope>
<header>
<version>0.9</version>
</header>
87

<body>
<data_block>
<dt_assoc>
<item key='protocol'>XCP</item>
<item key='action'>get_cert</item>
<item key='object'>trust_service</item>
<item key='attributes'>
<dt_assoc>
<item key='return_pkcs7_cert'>1</item>
<item key='return_ca_certs'>1</item>
<item key='order_id'>7360</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'>TRUST_SERVICE</item>
<item key='response_text'>Command completed successfully.</item>
<item key='response_code'>200</item>
<item key='is_success'>1</item>
<item key='attributes'>
88

<dt_assoc>
<item key='cert_data'>
<dt_assoc>
<item
key='pkcs7'>MIIYFAYJKoZIhvcNAQcCoIIYBTCCGAECAQExADALBgkqhkiG9w0BBwGgghf
pMIIF
SzCCBDOgAwIBAgIQKBqJ8LG7xMORrbudRYUgPjANBgkqhkiG9w0BAQUFADByMQsw
CQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQH
EwdTYWxmb3JkMRowGAYDVQQKExFDT01PRE8gQ0EgTGltaXRlZDEYMBYGA1UEAxMP
RXNzZW50aWFsU1NMIENBMB4XDTExMTAwNTAwMDAwMFoXDTEyMTAwNTIzNTk1OVow
gYUxITAfBgNVBAsTGERvbWFpbiBDb250cm9sIFZhbGlkYXRlZDEeMBwGA1UECxMV
SG9zdGVkIGJ5IFR1Y293cyBJbmMuMR4wHAYDVQQLExVFc3NlbnRpYWxTU0wgV2ls
ZGNhcmQxIDAeBgNVBAMUFyoucmVnNC5xYXJlZ3Jlc3Npb24ub3JnMIIBIjANBgkq
hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAukPlCL1vnnl9kgRhdRZ

XQ2yo3FqnFbG

IBZkjg2dJ8X3M/hM Lat5u /A1rkHP3kNvchwjf2kOmh29Hul6JLkfFlv6ZfYNsT


va/28P4RMZ38CBiTomAEwsxxrU5zDZmOLOqY3mg1sifhXT7lma0tgGSCil8Ru9NF
/jbAnShJx/MdvRdKORo1LGYplwg0 Esho5ODbIOlgEY18qgEDg8f0ir3jlOdsUzH
1A/qyl332eowlzztSmaJkbkjOJhMl9WaGfp0LeybNk7nGiSyIMWsHotlrQdiaftE
Rg6SkS9eDFljYGXEnoexa5BbQGO0mpAGO5WbeB0KNWUyRAHYPdaZ1wIDAQABo4IB
xzCCAcMwHwYDVR0jBBgwFoAU2svqrVsIXcz//CZUzknlVcY49PgwHQYDVR0OBBYE
FLLQDNSlCLlxPNKvHiVYCm/SBridMA4GA1UdDwEB/wQEAwIFoDAMBgNVHRMBAf8E
AjAAMDQGA1UdJQQtMCsGCCsGAQUFBwMBBggrBgEFBQcDAgYKKwYBBAGCNwoDAwYJ
YIZIAYb4QgQBMEUGA1UdIAQ

MDwwOgYLKwYBBAGyMQECAgcwKzApBggrBgEFBQcC

ARYdaHR0cHM6Ly9zZWN1cmUuY29tb2RvLmNvbS9DUFMwOwYDVR0fBDQwMjAwoC6g
LIYqaHR0cDovL2NybC5jb21vZG9jYS5jb20vRXNzZW50aWFsU1NMQ0EuY3JsMG4G
CCsGAQUFBwEBBGIwYDA4BggrBgEFBQcwAoYsaHR0cDovL2NydC5jb21vZG9jYS5j
b20vRXNzZW50aWFsU1NMQ0FfMi5jcnQwJAYIKwYBBQUHMAGGGGh0dHA6Ly9vY3Nw
LmNvbW9kb2NhLmNvbTA5BgNVHREEMjAwghcqLnJlZzQucWFyZWdyZXNzaW9uLm9y
Z4IVcmVnNC5xYXJlZ3Jlc3Npb24ub3JnMA0GCSqGSIb3DQEBBQUAA4IBAQBo8rwM
rpd2iSi45Vl69urPeUwMTeuEugN1V5zW26gxUE7nMLuOwwaFKKJFnOrxYSLbYK7e
z61Oujx9AyNwRyCja/0JdMEV9PHJHsn/mkLjXLnkgFmoxX75dsISBpIjy5f

Q0t5

xzbkVxBV3ZGW5OHRIy76h0gyrsRTNVr2BK3j apQUfQkdlPLq2DxHtJjuL5XrkVj
4mnUESS8Suhb8nEebc367kyXlVr453dHuQKfOUHtTmNOh5hin9yYOt0c1Dcyqsm
ue7TkHwniAryq4QsukxckiTyIAU4q 2BjO0gULy9C/3Nu8guFtLof DEO9t2g0sP
CFcn9QtLIdF oeMNMIIFAzCCA ugAwIBAgIQGLLLuqME8aAPwfLzJkYqSjANBgkq
hkiG9w0BAQUFADCBgTELMAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFu
89

Y2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgGA1UEChMRQ09NT0RPIENBIExp
bWl0ZWQxJzAlBgNVBAMTHkNPTU9ETyBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAe
Fw0wNjEyMDEwMDAwMDBaFw0xOTEyMzEyMzU5NTlaMHIxCzAJBgNVBAYTAkdCMRsw
GQYDVQQIExJHcmVhdGVyIE1hbmNoZXN0ZXIxEDAOBgNVBAcTB1NhbGZvcmQxGjAY
BgNVBAoTEUNPTU9ETyBDQSBMaW1pdGVkMRgwFgYDVQQDEw9Fc3NlbnRpYWxTU0wg
Q0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCt8AiwcsargxIxF3CJ
hakgEtSYau2A1NHf5I5ZLdOWIY120j8YC0YZYwvHIPPlC92AGvFaoL0dds23Izp0
XmEbdaqb1IX04XiR0y3hr/yYLgbSeT1awB8hLRyuIVPGOqchfr7tZ291HRqfalsG
s2rjsQuqag7nbWzDypWMN84hHzWQfdvaGlyoiBSyD8gSIF/F03/o4Tjg27z5H6Gq
1huQByH6RSRQXScqoChBRVt9vKCiL6qbfltTxfEFFld Edc7tNkBdtzffRDPUanl
OPJ7FAB1WfnwWdsXPvev5gItpHnBXaIcw5rIp6gLSApqLn8tl2X2xQScRMiZln5
pN0vAgMBAAGjggGDMIIBfzAfBgNVHSMEGDAWgBQLWOWLxkwVN6RAqTCpIb5HNlpW
/zAdBgNVHQ4EFgQU2svqrVsIXcz//CZUzknlVcY49PgwDgYDVR0PAQH/BAQDAgEG
MBIGA1UdEwEB/wQIMAYBAf8CAQAwIAYDVR0lBBkwFwYKKwYBBAGCNwoDAwYJYIZI
AYb4QgQBMD4GA1UdIAQ3MDUwMwYEVR0gADArMCkGCCsGAQUFBwIBFh1odHRwczov
L3NlY3VyZS5jb21vZG8uY29tL0NQUzBJBgNVHR8EQjBAMD6gPKA6hjhodHRwOi8v
Y3JsLmNvbW9kb2NhLmNvbS9DT01PRE9DZXJ0aWZpY2F0aW9uQXV0aG9yaXR5LmNy
bDBsBggrBgEFBQcBAQRgMF4wNgYIKwYBBQUHMAKGKmh0dHA6Ly9jcnQuY29tb2Rv
Y2EuY29tL0NvbW9kb1VUTlNHQ0NBLmNydDAkBggrBgEFBQcwAYYYaHR0cDovL29j
c3AuY29tb2RvY2EuY29tMA0GCSqGSIb3DQEBBQUAA4IBAQAtlzR6QDLqcJcvgTtL
eRJ3rvuq1xqo2l/zodueTZbLN3qo6u6bldudu
AB8OtXj5isWMcL2aejGjKdBZa0wztSz4iw
w/65g

Ennv1F7Q5Slqz0J790qpL0pcRD

SY1dWrCRnilsvKcKxudokxeRiDn55

onO7wdQ7VuF6r7yJiIatnyfKH2cboZT7g440LX8NqxwCPf3dfxp 0Jj1ag

q8MLy6SSgIGSH6lv Wwz3D5XxqfyH8wqfOQsTEZf6/Nh9yvENZ NWPU6g0QO2JOs


TGvMd/QDzczc4BxLXSXaPV7Od4rhPsbXlM1wSTz/Dr0ISKvlUhQVnQ6cGodWaK2c
CQBkMIIEqzCCA5OgAwIBAgIQLnmDLpCIh

qLjvMabuZ6RDANBgkqhkiG9w0BAQUF

ADCBkzELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExh
a2UgQ2l0eTEeMBwGA1UEChMVVGhlIFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQL
ExhodHRwOi8vd3d3LnVzZXJ0cnVzdC5jb20xGzAZBgNVBAMTElVUTiAtIERBVEFD
b3JwIFNHQzAeFw0wNjEyMDEwMDAwMDBaFw0yMDA1MzAxMDQ4MzhaMIGBMQswCQYD
VQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdT
YWxmb3JkMRowGAYDVQQKExFDT01PRE8gQ0EgTGltaXRlZDEnMCUGA1UEAxMeQ09N
T0RPIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIIBIjANBgkqhkiG9w0BAQEFAAOC
AQ8AMIIBCgKCAQEA0ECLi3LjkRv3UcEbVASY06m/weaKXTuH

7uIzg3jLz8GlvCi

KVCZrts7oVewdFFxze1CkU1B/qnI2GqGd0S7WWaXUF601CxwRM/aN5VCaTwwxHGz
90

UvAhTaHYujl8HJ6jJJ3ygxaYqhZ8Q5sVW7euNJH 1GImGEaaP vB fGQV useg2L


23IwambV4EajcNxo2f8ESIl33rXp 2dtQem8Ob0y2WIC8bGoPW43nOIv4tOiJovG
uFVDiOEjPqXSJDlqR6sA1KGzqSX DT nHbrTUcELpNqsOO9VUCQFZUaTNE8tja3G
1CEZ0o7KBWFxB3NH5YoZEr0ETc5OnKVIrLsm9wIDAQABo4IBCTCCAQUwHwYDVR0j
BBgwFoAUUzLRs89/

uDxoF2FTpLSnkUdtE8wHQYDVR0OBBYEFAtY5YvGTBU3pECp

MKkhvkc2Wlb/MA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MCAGA1Ud
JQQZMBcGCisGAQQBgjcKAwMGCWCGSAGG
bQYDVR0fBGYwZDAxoC

EIEATARBgNVHSAECjAIMAYGBFUdIAAw

gLYYraHR0cDovL2NybC5jb21vZG9jYS5jb20vVVROLURB

VEFDb3JwU0dDLmNybDAvoC2gK4YpaHR0cDovL2NybC5jb21vZG8ubmV0L1VUTi1E
QVRBQ29ycFNHQy5jcmwwDQYJKoZIhvcNAQEFBQADggEBANheksSuFNxDrcKkw2dF
Bx35N6IZxxw3NZETHAfEfUKmDvCGXENrDkTPviRhOkKpzp1Mr3k5cN0OBCBOlZw8
3rdgumNDQO1qD4FJRrsek8BL8/jhNkkbb7YMDfKQV4r8bZPyKMf6hgoosxcOWYou
tr/N4axMZmzyVZFWtzK/seR9teg6ti/bspzaUJOOTsWsmn5cnhI8O03GUHCzZSuO
92uhuyXAALv17BZlgQ771KMhlneaqHS8U6rCOVD/CwIJYcyVt9eIavZcxWjTFJUa
R1/Z y3kL48ThqsxE0ATrG7ttRAwixtQqc7ujMrrfLW5Fj3U m SbR6ivfsCSsVw
vvEwggSmMIIDjqADAgECAhBG6vCWBUzF4/pl6m6fQsZkMA0GCSqGSIb3DQEBBQUA
MG8xCzAJBgNVBAYTAlNFMRQwEgYDVQQKEwtBZGRUcnVzdCBBQjEmMCQGA1UECxMd
QWRkVHJ1c3QgRXh0ZXJuYWwgVFRQIE5ldHdvcmsxIjAgBgNVBAMTGUFkZFRydXN0
IEV4dGVybmFsIENBIFJvb3QwHhcNMDUwNjA3MDgwOTEwWhcNMjAwNTMwMTA0ODM4
WjCBkzELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExh
a2UgQ2l0eTEeMBwGA1UEChMVVGhlIFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQL
ExhodHRwOi8vd3d3LnVzZXJ0cnVzdC5jb20xGzAZBgNVBAMTElVUTiAtIERBVEFD
b3JwIFNHQzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAN/uWBCiK25V
xI6/LkYJ5 AIDy4rehOUG732toCOZQWTAB68r IPjhkNEkfsrK2j i5w N5u 1ZC
FZ4uXO8j3iG5BXYnGQ9P1sOctL6UGWPyphEK61NInL7yKTsW6BqgTKbJ9BhZaMBw
8lMAwF5QgqVWbzb5SuBEhqBNTtZHbklKy2fXpsQFuY4e9Pz/zec24JwFbLIzIhXQ
tODMF8CywPT Mj8pKpV72PKnTg9UfKENgLMJA8H/XN1emj68rrxHimquccofsSq4
X0IFC xGMNFyC8rpVm317994vmG6sqWuBEy8qKxpFZe97 u0jL81 NTD0SgOXDqf
cBgzIHfEoq8CAwEAAaOCARcwggETMB8GA1UdIwQYMBaAFK29mHo0tCb3

sQmVO8D

veAky1QaMB0GA1UdDgQWBBRTMtGzz3/64PGgXYVOktKeRR20TzAOBgNVHQ8BAf8E
BAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAgBgNVHSUEGTAXBgorBgEEAYI3CgMDBglg
hkgBhvhCBAEwEQYDVR0gBAowCDAGBgRVHSAAMHsGA1UdHwR0MHIwOKA2oDSGMmh0
dHA6Ly9jcmwuY29tb2RvY2EuY29tL0FkZFRydXN0RXh0ZXJuYWxDQVJvb3QuY3Js
MDagNKAyhjBodHRwOi8vY3JsLmNvbW9kby5uZXQvQWRkVHJ1c3RFeHRlcm5hbENB
Um9vdC5jcmwwDQYJKoZIhvcNAQEFBQADggEBAGOGkhCxE/o3vo4qthuKQ/Vcrg4U
91

3/dpQH /GnEACdi/1CRKv CT/wHYC8YP7H5HnLBd93wUnfzAM5KEW9KD9FLiIlh0


/EMbP6ejWNoD/bzwOuTtzBK7ybmuewSgBHK/6d4t0qdRZgBz0r1 qp5Tln1pshg
jq1WUH731bD/OWJlgoyWV8OP92D2wo00h/xPQ Xbvxyq9obN5t8RP40H922DE8A4
iDlgoX4w4eOIPqS7Y28s6YpoLO6WaawEYeFPTg6dckz2eTjIx0hpb5QPdLS8yM9X
Tbl1cZYNigYL693Q8Dx9xi6YRmo4xwK1yLiyZXXe2pAItne4UwAly0fKc18wggQ2
MIIDHqADAgECAgEBMA0GCSqGSIb3DQEBBQUAMG8xCzAJBgNVBAYTAlNFMRQwEgYD
VQQKEwtBZGRUcnVzdCBBQjEmMCQGA1UECxMdQWRkVHJ1c3QgRXh0ZXJuYWwgVFRQ
IE5ldHdvcmsxIjAgBgNVBAMTGUFkZFRydXN0IEV4dGVybmFsIENBIFJvb3QwHhcN
MDAwNTMwMTA0ODM4WhcNMjAwNTMwMTA0ODM4WjBvMQswCQYDVQQGEwJTRTEUMBIG
A1UEChMLQWRkVHJ1c3QgQUIxJjAkBgNVBAsTHUFkZFRydXN0IEV4dGVybmFsIFRU
UCBOZXR3b3JrMSIwIAYDVQQDExlBZGRUcnVzdCBFeHRlcm5hbCBDQSBSb290MIIB
IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAt/caM byAAQtOeBOW

0fvGwP

zbX6I7bO3psRM5ekKUx9k5 9SryT7QMa44/P5W1QWtaXKZRagLBJetsulf24yr83
OC0ePpFBrXBWx/BPP

gynnTKyJBU6cZfD3idmkA8Dqxhql4Uj56HoWpQ3NeaTq8F

s6ZxlJxxs1BgCscTnTgHhgKo6ahpJhiQq0ywTyOrOk E2N/On

Fpb7vXQtdrROTH

re5tQV9yWnEIN7N5ZaRZoJQ39wAvDcKSctrQOHLbFKhFxF0qfbe01sTurM0TRLfJ
K91DACX6YblpalgjEbenM49WdVn1zSnXRrcKK2W200JvFbK4e/vv6V1T1TRaJwID
AQABo4HcMIHZMB0GA1UdDgQWBBStvZh6NLQm9/rEJlTvA73gJMtUGjALBgNVHQ8E
BAMCAQYwDwYDVR0TAQH/BAUwAwEB/zCBmQYDVR0jBIGRMIGOgBStvZh6NLQm9/rE
JlTvA73gJMtUGqFzpHEwbzELMAkGA1UEBhMCU0UxFDASBgNVBAoTC0FkZFRydXN0
IEFCMSYwJAYDVQQLEx1BZGRUcnVzdCBFeHRlcm5hbCBUVFAgTmV0d29yazEiMCAG
A1UEAxMZQWRkVHJ1c3QgRXh0ZXJuYWwgQ0EgUm9vdIIBATANBgkqhkiG9w0BAQUF
AAOCAQEAsJvghSXC1iPiD5YGkp1BmJzZhHmB2R5bFAcjNmWPsNh3u6xBbEdgg1Gw
TI95/z2JhPHgBalv1r8h894eYkhmuJMBwqGNbzy3lHE0pa33H5O7nD9HDnrDAJR
FC2OvRbgwd9Gdeckrez0QrSFk3AQZ7qdBjVKGNMresxRQqF6Y9Hmu6HFK8I2vhMN
5r1jfnl7pwkNQKtq3Y Kw/b2jBpCBVHURfWfp2IhaBUgQzyZ53y9JNipkRdziD9W
GzE4GLRxD5rNyA6eji4b4YyYg8sfMfFETMYEc0l2YA/H

L0XgGsu6cxMDlqaeQ8g

Ci7VnmMmHlWSlNiCF1p70LzHj06GBDEA</item>
<item key='ca_certificates'>
<dt_array>
<item key='0'>-----BEGIN CERTIFICATE----MIIENjCCAx6gAwIBAgIBATANBgkqhkiG9w0BAQUFADBvMQswCQYDVQQGEwJTRTEU
MBIGA1UEChMLQWRkVHJ1c3QgQUIxJjAkBgNVBAsTHUFkZFRydXN0IEV4dGVybmFs
IFRUUCBOZXR3b3JrMSIwIAYDVQQDExlBZGRUcnVzdCBFeHRlcm5hbCBDQSBSb290
MB4XDTAwMDUzMDEwNDgzOFoXDTIwMDUzMDEwNDgzOFowbzELMAkGA1UEBhMCU0Ux
92

FDASBgNVBAoTC0FkZFRydXN0IEFCMSYwJAYDVQQLEx1BZGRUcnVzdCBFeHRlcm5h
bCBUVFAgTmV0d29yazEiMCAGA1UEAxMZQWRkVHJ1c3QgRXh0ZXJuYWwgQ0EgUm9v
dDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALf3GjPm8gAELTngTlvt
H7xsD821 iO2zt6bETOXpClMfZOfvUq8k 0DGuOPz VtUFrWlymUWoCwSXrbLpX9
uMq/NzgtHj6RQa1wVsfwTz/oMp50ysiQVOnGXw94nZpAPA6sYapeFI

eh6FqUNzX

mk6vBbOmcZSccbNQYArHE504B4YCqOmoaSYYkKtMsE8jqzpPhNjfzp/haW

710LX

a0Tkx63ubUFfclpxCDezeWWkWaCUN/cALw3CknLa0Dhy2xSoRcRdKn23tNbE7qzN
E0S3ySvdQwAl mG5aWpYIxG3pzOPVnVZ9c0p10a3CitlttNCbxWyuHv77 ldU9U0
WicCAwEAAaOB3DCB2TAdBgNVHQ4EFgQUrb2YejS0Jvf6xCZU7wO94CTLVBowCwYD
VR0PBAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wgZkGA1UdIwSBkTCBjoAUrb2YejS0
Jvf6xCZU7wO94CTLVBqhc6RxMG8xCzAJBgNVBAYTAlNFMRQwEgYDVQQKEwtBZGRU
cnVzdCBBQjEmMCQGA1UECxMdQWRkVHJ1c3QgRXh0ZXJuYWwgVFRQIE5ldHdvcmsx
IjAgBgNVBAMTGUFkZFRydXN0IEV4dGVybmFsIENBIFJvb3SCAQEwDQYJKoZIhvcN
AQEFBQADggEBALCb4IUlwtYj4g

WBpKdQZic2YR5gdkeWxQHIzZlj7DYd7usQWxH

YINRsPkyPef89iYTx4AWpb9a/IfPeHmJIZriTAcKhjW88t5RxNKWt9x Tu5w/Rw5
6wwCURQtjr0W4MHfRnXnJK3s9EK0hZNwEGe6nQY1ShjTK3rMUUKhemPR5ruhxSvC
Nr4TDea9Y355e6cJDUCrat2PisP29owaQgVR1EX1n6diIWgVIEM8med8vSTYqZEX
c4g/VhsxOBi0cQ azcgOno4uG GMmIPLHzHxREzGBHNJdmAPx/i9F4BrLunMTA5a
mnkPIAou1Z5jJh5VkpTYghdae9C8x49OhgQ=
-----END CERTIFICATE-----</item>
<item key='1'>-----BEGIN CERTIFICATE----MIIEpjCCA46gAwIBAgIQRurwlgVMxeP6Zepun0LGZDANBgkqhkiG9w0BAQUFADBv
MQswCQYDVQQGEwJTRTEUMBIGA1UEChMLQWRkVHJ1c3QgQUIxJjAkBgNVBAsTHUFk
ZFRydXN0IEV4dGVybmFsIFRUUCBOZXR3b3JrMSIwIAYDVQQDExlBZGRUcnVzdCBF
eHRlcm5hbCBDQSBSb290MB4XDTA1MDYwNzA4MDkxMFoXDTIwMDUzMDEwNDgzOFow
gZMxCzAJBgNVBAYTAlVTMQswCQYDVQQIEwJVVDEXMBUGA1UEBxMOU2FsdCBMYWtl
IENpdHkxHjAcBgNVBAoTFVRoZSBVU0VSVFJVU1QgTmV0d29yazEhMB8GA1UECxMY
aHR0cDovL3d3dy51c2VydHJ1c3QuY29tMRswGQYDVQQDExJVVE4gLSBEQVRBQ29y
cCBTR0MwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDf7lgQoituVcSO
vy5GCefgCA8uK3oTlBu99raAjmUFkwAevK/iD44ZDRJH7Kyto/oucPjebvtWQhWe
LlzvI94huQV2JxkPT9bDnLS lBlj8qYRCutTSJy 8ik7FugaoEymyfQYWWjAcPJT
AMBeUIKlVm82 UrgRIagTU7WR25JSstn16bEBbmOHvT8/83nNuCcBWyyMyIV0LTg
zBfAssD0/jI/KSqVe9jyp04PVHyhDYCzCQPB/1zdXpo vK68R4pqrnHKH7EquF9C
BQvsRjDRcgvK6VZt9e/feL5hurKlrgRMvKisaRWXve/rtIy/NfjUw9EoDlw6n3AY
MyB3xKKvAgMBAAGjggEXMIIBEzAfBgNVHSMEGDAWgBStvZh6NLQm9/rEJlTvA73g
93

JMtUGjAdBgNVHQ4EFgQUUzLRs89/

uDxoF2FTpLSnkUdtE8wDgYDVR0PAQH/BAQD

AgEGMA8GA1UdEwEB/wQFMAMBAf8wIAYDVR0lBBkwFwYKKwYBBAGCNwoDAwYJYIZI
AYb4QgQBMBEGA1UdIAQKMAgwBgYEVR0gADB7BgNVHR8EdDByMDigNqA0hjJodHRw
Oi8vY3JsLmNvbW9kb2NhLmNvbS9BZGRUcnVzdEV4dGVybmFsQ0FSb290LmNybDA2
oDSgMoYwaHR0cDovL2NybC5jb21vZG8ubmV0L0FkZFRydXN0RXh0ZXJuYWxDQVJv
b3QuY3JsMA0GCSqGSIb3DQEBBQUAA4IBAQBjhpIQsRP6N76OKrYbikP1XK4OFN/3
aUB/vxpxAAnYv9QkSr/gk/8B2AvGD x R5ywXfd8FJ38wDOShFvSg/RS4iJYdPxD
Gz no1jaA/288Drk7cwSu8m5rnsEoARyv neLdKnUWYAc9K9fqqeU5Z9abIYPo6t
VlB 99Ww/zliZYKMllfDj/dg9sKNNIf8T0Pl278cqvaGzebfET NB/dtgxPAOIg5
YKF MOHjiD6ku2NvLOmKaCzulmmsBGHhT04OnXJM9nk4yMdIaW UD3S0vMjPV025
dXGWDYoGC vd0PA8fcYumEZqOMcCtci4smV13tqQCLZ3uFMAJctHynNf
-----END CERTIFICATE-----</item>
<item key='2'>-----BEGIN CERTIFICATE----MIIEqzCCA5OgAwIBAgIQLnmDLpCIh qLjvMabuZ6RDANBgkqhkiG9w0BAQUFADCB
kzELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2Ug
Q2l0eTEeMBwGA1UEChMVVGhlIFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExho
dHRwOi8vd3d3LnVzZXJ0cnVzdC5jb20xGzAZBgNVBAMTElVUTiAtIERBVEFDb3Jw
IFNHQzAeFw0wNjEyMDEwMDAwMDBaFw0yMDA1MzAxMDQ4MzhaMIGBMQswCQYDVQQG
EwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxm
b3JkMRowGAYDVQQKExFDT01PRE8gQ0EgTGltaXRlZDEnMCUGA1UEAxMeQ09NT0RP
IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A
MIIBCgKCAQEA0ECLi3LjkRv3UcEbVASY06m/weaKXTuH 7uIzg3jLz8GlvCiKVCZ
rts7oVewdFFxze1CkU1B/qnI2GqGd0S7WWaXUF601CxwRM/aN5VCaTwwxHGzUvAh
TaHYujl8HJ6jJJ3ygxaYqhZ8Q5sVW7euNJH 1GImGEaaP vB fGQV useg2L23Iw
ambV4EajcNxo2f8ESIl33rXp 2dtQem8Ob0y2WIC8bGoPW43nOIv4tOiJovGuFVD
iOEjPqXSJDlqR6sA1KGzqSX DT nHbrTUcELpNqsOO9VUCQFZUaTNE8tja3G1CEZ
0o7KBWFxB3NH5YoZEr0ETc5OnKVIrLsm9wIDAQABo4IBCTCCAQUwHwYDVR0jBBgw
FoAUUzLRs89/

uDxoF2FTpLSnkUdtE8wHQYDVR0OBBYEFAtY5YvGTBU3pECpMKkh

vkc2Wlb/MA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MCAGA1UdJQQZ
MBcGCisGAQQBgjcKAwMGCWCGSAGG
VR0fBGYwZDAxoC

EIEATARBgNVHSAECjAIMAYGBFUdIAAwbQYD

gLYYraHR0cDovL2NybC5jb21vZG9jYS5jb20vVVROLURBVEFD

b3JwU0dDLmNybDAvoC2gK4YpaHR0cDovL2NybC5jb21vZG8ubmV0L1VUTi1EQVRB
Q29ycFNHQy5jcmwwDQYJKoZIhvcNAQEFBQADggEBANheksSuFNxDrcKkw2dFBx35
N6IZxxw3NZETHAfEfUKmDvCGXENrDkTPviRhOkKpzp1Mr3k5cN0OBCBOlZw83rdg
umNDQO1qD4FJRrsek8BL8/jhNkkbb7YMDfKQV4r8bZPyKMf6hgoosxcOWYoutr/N
94

4axMZmzyVZFWtzK/seR9teg6ti/bspzaUJOOTsWsmn5cnhI8O03GUHCzZSuO92uh
uyXAALv17BZlgQ771KMhlneaqHS8U6rCOVD/CwIJYcyVt9eIavZcxWjTFJUaR1/Z
y3kL48ThqsxE0ATrG7ttRAwixtQqc7ujMrrfLW5Fj3U m SbR6ivfsCSsVwvvE=
-----END CERTIFICATE-----</item>
<item key='3'>-----BEGIN CERTIFICATE----MIIFAzCCA ugAwIBAgIQGLLLuqME8aAPwfLzJkYqSjANBgkqhkiG9w0BAQUFADCB
gTELMAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4G
A1UEBxMHU2FsZm9yZDEaMBgGA1UEChMRQ09NT0RPIENBIExpbWl0ZWQxJzAlBgNV
BAMTHkNPTU9ETyBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wNjEyMDEwMDAw
MDBaFw0xOTEyMzEyMzU5NTlaMHIxCzAJBgNVBAYTAkdCMRswGQYDVQQIExJHcmVh
dGVyIE1hbmNoZXN0ZXIxEDAOBgNVBAcTB1NhbGZvcmQxGjAYBgNVBAoTEUNPTU9E
TyBDQSBMaW1pdGVkMRgwFgYDVQQDEw9Fc3NlbnRpYWxTU0wgQ0EwggEiMA0GCSqG
SIb3DQEBAQUAA4IBDwAwggEKAoIBAQCt8AiwcsargxIxF3CJhakgEtSYau2A1NHf
5I5ZLdOWIY120j8YC0YZYwvHIPPlC92AGvFaoL0dds23Izp0XmEbdaqb1IX04XiR
0y3hr/yYLgbSeT1awB8hLRyuIVPGOqchfr7tZ291HRqfalsGs2rjsQuqag7nbWzD
ypWMN84hHzWQfdvaGlyoiBSyD8gSIF/F03/o4Tjg27z5H6Gq1huQByH6RSRQXScq
oChBRVt9vKCiL6qbfltTxfEFFld

Edc7tNkBdtzffRDPUanlOPJ7FAB1WfnwWdsX

Pvev5gItpHnBXaIcw5rIp6gLSApqLn8tl2X2xQScRMiZln5

pN0vAgMBAAGjggGD

MIIBfzAfBgNVHSMEGDAWgBQLWOWLxkwVN6RAqTCpIb5HNlpW/zAdBgNVHQ4EFgQU
2svqrVsIXcz//CZUzknlVcY49PgwDgYDVR0PAQH/BAQDAgEGMBIGA1UdEwEB/wQI
MAYBAf8CAQAwIAYDVR0lBBkwFwYKKwYBBAGCNwoDAwYJYIZIAYb4QgQBMD4GA1Ud
IAQ3MDUwMwYEVR0gADArMCkGCCsGAQUFBwIBFh1odHRwczovL3NlY3VyZS5jb21v
ZG8uY29tL0NQUzBJBgNVHR8EQjBAMD6gPKA6hjhodHRwOi8vY3JsLmNvbW9kb2Nh
LmNvbS9DT01PRE9DZXJ0aWZpY2F0aW9uQXV0aG9yaXR5LmNybDBsBggrBgEFBQcB
AQRgMF4wNgYIKwYBBQUHMAKGKmh0dHA6Ly9jcnQuY29tb2RvY2EuY29tL0NvbW9k
b1VUTlNHQ0NBLmNydDAkBggrBgEFBQcwAYYYaHR0cDovL29jc3AuY29tb2RvY2Eu
Y29tMA0GCSqGSIb3DQEBBQUAA4IBAQAtlzR6QDLqcJcvgTtLeRJ3rvuq1xqo2l/z
odueTZbLN3qo6u6bldudu Ennv1F7Q5Slqz0J790qpL0pcRDAB8OtXj5isWMcL2a
ejGjKdBZa0wztSz4iw SY1dWrCRnilsvKcKxudokxeRiDn55w/65g onO7wdQ7Vu
F6r7yJiIatnyfKH2cboZT7g440LX8NqxwCPf3dfxp 0Jj1agq8MLy6SSgIGSH6lv
Wwz3D5XxqfyH8wqfOQsTEZf6/Nh9yvENZ NWPU6g0QO2JOsTGvMd/QDzczc4BxL
XSXaPV7Od4rhPsbXlM1wSTz/Dr0ISKvlUhQVnQ6cGodWaK2cCQBk
-----END CERTIFICATE-----</item>
</dt_array>
</item>
95

<item key='certificate'>-----BEGIN CERTIFICATE----MIIFSzCCBDOgAwIBAgIQKBqJ8LG7xMORrbudRYUgPjANBgkqhkiG9w0BAQUFADBy


MQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYD
VQQHEwdTYWxmb3JkMRowGAYDVQQKExFDT01PRE8gQ0EgTGltaXRlZDEYMBYGA1UE
AxMPRXNzZW50aWFsU1NMIENBMB4XDTExMTAwNTAwMDAwMFoXDTEyMTAwNTIzNTk1
OVowgYUxITAfBgNVBAsTGERvbWFpbiBDb250cm9sIFZhbGlkYXRlZDEeMBwGA1UE
CxMVSG9zdGVkIGJ5IFR1Y293cyBJbmMuMR4wHAYDVQQLExVFc3NlbnRpYWxTU0wg
V2lsZGNhcmQxIDAeBgNVBAMUFyoucmVnNC5xYXJlZ3Jlc3Npb24ub3JnMIIBIjAN
BgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAukPlCL1vnnl9kgRhdRZ

XQ2yo3Fq

nFbGIBZkjg2dJ8X3M/hM Lat5u /A1rkHP3kNvchwjf2kOmh29Hul6JLkfFlv6Zf


YNsTva/28P4RMZ38CBiTomAEwsxxrU5zDZmOLOqY3mg1sifhXT7lma0tgGSCil8R
u9NF/jbAnShJx/MdvRdKORo1LGYplwg0

Esho5ODbIOlgEY18qgEDg8f0ir3jlOd

sUzH1A/qyl332eowlzztSmaJkbkjOJhMl9WaGfp0LeybNk7nGiSyIMWsHotlrQdi
aftERg6SkS9eDFljYGXEnoexa5BbQGO0mpAGO5WbeB0KNWUyRAHYPdaZ1wIDAQAB
o4IBxzCCAcMwHwYDVR0jBBgwFoAU2svqrVsIXcz//CZUzknlVcY49PgwHQYDVR0O
BBYEFLLQDNSlCLlxPNKvHiVYCm/SBridMA4GA1UdDwEB/wQEAwIFoDAMBgNVHRMB
Af8EAjAAMDQGA1UdJQQtMCsGCCsGAQUFBwMBBggrBgEFBQcDAgYKKwYBBAGCNwoD
AwYJYIZIAYb4QgQBMEUGA1UdIAQ

MDwwOgYLKwYBBAGyMQECAgcwKzApBggrBgEF

BQcCARYdaHR0cHM6Ly9zZWN1cmUuY29tb2RvLmNvbS9DUFMwOwYDVR0fBDQwMjAw
oC6gLIYqaHR0cDovL2NybC5jb21vZG9jYS5jb20vRXNzZW50aWFsU1NMQ0EuY3Js
MG4GCCsGAQUFBwEBBGIwYDA4BggrBgEFBQcwAoYsaHR0cDovL2NydC5jb21vZG9j
YS5jb20vRXNzZW50aWFsU1NMQ0FfMi5jcnQwJAYIKwYBBQUHMAGGGGh0dHA6Ly9v
Y3NwLmNvbW9kb2NhLmNvbTA5BgNVHREEMjAwghcqLnJlZzQucWFyZWdyZXNzaW9u
Lm9yZ4IVcmVnNC5xYXJlZ3Jlc3Npb24ub3JnMA0GCSqGSIb3DQEBBQUAA4IBAQBo
8rwMrpd2iSi45Vl69urPeUwMTeuEugN1V5zW26gxUE7nMLuOwwaFKKJFnOrxYSLb
YK7ez61Oujx9AyNwRyCja/0JdMEV9PHJHsn/mkLjXLnkgFmoxX75dsISBpIjy5f
Q0t5xzbkVxBV3ZGW5OHRIy76h0gyrsRTNVr2BK3j apQUfQkdlPLq2DxHtJjuL5X
rkVj 4mnUESS8Suhb8nEebc367kyXlVr453dHuQKfOUHtTmNOh5hin9yYOt0c1Dc
yqsmue7TkHwniAryq4QsukxckiTyIAU4q 2BjO0gULy9C/3Nu8guFtLof DEO9t2
g0sPCFcn9QtLIdF oeMN
-----END CERTIFICATE-----</item>
</dt_assoc>
</item>
<item key='expiry_date'>2012-10-05T00:00:00.000-04:00</item>
<item key='state'>active</item>
96

<item key='product_type'>truebizid_wildcard</item>
<item key='domain'>*.example.com</item>
<item key='issue_date'>2011-10-05T00:00:00.000-04:00</item>
<item key='product_id'>1701</item>
<item key='contact_email'>zack@example.com</item>
<item key='start_date'>2011-10-05T00:00:00.000-04:00</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

Example 2
Uses the product ID to retrieve the properties for a Trust Service product.

Request
<?xml version='1.0' encoding='UTF-8'?>
<OPS_envelope>
<header>
<version>0.9</version>
</header>
<body>
<data_block>
<dt_assoc>
<item key='protocol'>XCP</item>
<item key='action'>get_cert</item>
<item key='object'>trust_service</item>
<item key='attributes'>
<dt_assoc>
<item key='product_id'>2096</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
97

</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'>TRUST_SERVICE</item>
<item key='is_success'>1</item>
<item key='response_text'>Command completed successfully.</item>
<item key='response_code'>200</item>
<item key='attributes'>
<dt_assoc>
<item key='cert_data'>
<dt_assoc>
<item key='certificate'>-----BEGIN CERTIFICATE----MIIEUTCCAzmgAwIBAgIDAX8yMA0GCSqGSIb3DQEBBQUAME8xCzAJBgNVBAYTAlVT
MRUwEwYDVQQKEwxHZW9UcnVzdCBJbmMxKTAnBgNVBAMTIEdlb1RydXN0IFByZS1Q
cm9kdWN0aW9uIFNVQiBDQSAzMB4XDTEyMDQyODIzNDIzMFoXDTEyMDUwODExMzQ0
OVowgZoxEzARBgNVBAsTCkdUMDgzMjUxNzMxMTAvBgNVBAsTKFNlZSB3d3cucmFw
aWRzc2wuY29tL3Jlc291cmNlcy9jcHMgKGMpMTIxLzAtBgNVBAsTJkRvbWFpbiBD
b250cm9sIFZhbGlkYXRlZCAtIFJhcGlkU1NMKFIpMR8wHQYDVQQDExZyYXBpZC5x
YXJlZ3Jlc3Npb24ub3JnMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA
01fy13nKyEaR7BcXW/ZOzrgNbW/v57Q4HtJsFLhakoVU30C6N+xUwZMVMTpMlq5f
xmHjC8/bJN1vho9l3EI9W+QEFXcyh3O9F/11SPqFxStjA/F1R5uzIQuMwMpe4Z3o
EPAusTDDEZDn6KtDMrsjgDRXNUL6IjWHTErj9G4bl13bwqBUy6LyCQoGOpME5qNA
skJ3HWdv99xJy4b1XjOw5qekIrYYXcslV3INDnV+V+jR/LuU+JuqTaZKL5fnIp5i
98

n6WDTK1EYQ7L1KnA4WlXL0cOy7xCnH2AjR5iV+gOX0mypJ0RbCYWMWfQC+1BxLVP
/wlljvTkIaZkiGkJPz3KUwIDAQABo4HpMIHmMB8GA1UdIwQYMBaAFGV1riJo592U
KxNo1SwYK4YYVaDFMA4GA1UdDwEB/wQEAwIFoDAhBgNVHREEGjAYghZyYXBpZC5x
YXJlZ3Jlc3Npb24ub3JnMEQGA1UdHwQ9MDswOaA3oDWGM2h0dHA6Ly90ZXN0LWNy
bC5nZW90cnVzdC5jb20vY3Jscy9wcmVwcm9kc3ViY2EzLmNybDAMBgNVHRMBAf8E
AjAAMB0GA1UdDgQWBBQDOAEoYLLChTqOW8wOPRiHwcgQMjAdBgNVHSUEFjAUBggr
BgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQEFBQADggEBAMBPQE2zs+68mvwQ
xWs5ajDPkDerr5IGWwAPx9n9YonnIydHuB5wqAN6tr34f8wT4hqwMhGO1JPZzEyF
I3flV4Ca5P14bpLC96G4O8/XDG0off2tDYf5OVQgbNP/s93mvMhSo3jAHN3Enpn0
iLDRXuc+UVFmiakLrANsVGKzMReBeWtk0tej6ONSC0Ds6PGrlzHSXcWHR9WD1dVF
+1vKnaS2pp4nXBQthh1wbvk8+VekrYRaPy/5h3/9hRHVb85rb8hbLWSBfN6oyLRw
KZnecg3wOB449Hfi072JKEgEViBkuYJLr94KQ8gTSEtDlGmSLGCZaGsrtgmNbyne
aNzofSA=
-----END CERTIFICATE-----</item>
</dt_assoc>
</item>
<item key='expiry_date'>2012-05-08T07:34:49.000-04:00</item>
<item key='state'>active</item>
<item key='product_type'>quickssl</item>
<item key='domain'>example.com</item>
<item key='issue_date'>2012-04-30T11:27:59.000-04:00</item>
<item key='product_id'>2096</item>
<item key='contact_email'>zack@example.com</item>
<item key='start_date'>2012-04-28T19:42:30.000-04:00</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

99

get_contract
Description
Action & object
action = get_contract
object = domain
Usage
Retrieves the text of the Reseller agreement known as Exhibit A.

Request parameters for get_contract


Standard parameters
action = get_contract
object = domain
attributes
Attributes
Parameters within the attributes associative array are described below.
Parameter name

Obligation Definition / Value

type

Required

Type of query.
Allowed value is exhibit_a.

Response parameters for get_contract


Standard parameters
action = reply
object = domain
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

100

Attributes
If the request is successful, the attributes associative array may include the
following:
Parameter
name

Obligation

Definition / Value

contract

Returned if is_success
=1

The text of the Reseller agreement


known as Exhibit A.

Examples for get_contract


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">GET_CONTRACT</item>
<item key="object">DOMAIN</item>
<item key="attributes">
<dt_assoc>
<item key="type">exhibit_a</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

Response
<?xml version='1.0' encoding="UTF-8" standalone="no" ?>
101

<!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">DOMAIN</item>
<item key="response_text">Contract data successfully retrieved</item>
<item key="response_code">200</item>
<item key="is_success">1</item>
<item key="attributes">
<dt_assoc>
<item key="contract">
<dt_assoc>
<item key="text">1. AGREEMENT. In this Registration Agreement ("Agreement") "you" and
"your" refer to the registrant of each domain name registration.....etc.....</item>
</dt_assoc>
</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

102

get_deleted_domains
Description
Action & object
action =get_deleted_domains
object = domain

Usage
Lists domains that have been deleted due to expiration or deleted by request
(revoked). This command applies to all domains in a Reseller's profile.
Results include the domain, status, and deleted date.
All attributes are optional, but can be used to narrow the search criteria. If
no attributes are specified, the response contains all domains that were ever
deleted from your profile.

Request parameters for get_deleted_domains


Standard parameters
action = get_deleted_domains
object = domain
attributes

Attributes
Parameters within the attributes associative array are described below.
Parameter
name

Obligation

Definition / Value

admin_email

Optional

Can be used to search for deleted domains associated


with a specific admin email. Wildcards (*) are
accepted.

billing_email

Optional

Can be used to search for deleted domains associated


with a specific billing email. Wildcards (*) are
accepted.

del_from

Optional

Specify a starting date, in the format YYYY-MM-DD,


from which to return deleted domains. Can be used
with the del_to attribute to specify a range to search
within. If not used with del_to, all domains from the
del_from date onward are returned. The year
specified cannot exceed 2030; otherwise an error is
returned.
103

Parameter
name

Obligation

Definition / Value

del_to

Optional

Specify an end date, in the format YYYY-MM-DD,


before which to return deleted domains. Can be used
with the del_from attribute to specify a range to
search within. If not used with del_from, all domains
ever deleted from the del_to date and earlier are
returned. The year specified cannot exceed 2030;
otherwise an error is returned.

domain

Optional

Submit this attribute only if you want to check if a


particular domain has been deleted.

exp_from

Optional

Specify a starting date, in the format YYYY-MM-DD,


from which to return expired-deleted domains. Can
be used with the exp_to attribute to specify a range
to search within. If not used with exp_to, all
expired-deleted domains from the exp_from date
onward are returned. The year specified cannot
exceed 2030; otherwise an error is returned.

exp_to

Optional

Specify a date, in the format YYYY-MM-DD, before


which to return expired-deleted domains. Can be
used with the exp_from attribute to specify a range
to search within. If not used with exp_from, all
domains ever expired-deleted from the exp_to date
and earlier are returned. The year specified cannot
exceed 2030; otherwise an error is returned.

limit

Optional

The maximum number of domains to return per


page.

owner_email

Optional

Can be used to search for deleted domains associated


with a specific owner email. Wildcards (*) are
accepted.

page

Optional

Determines which page to retrieve, using the page


number. The page index starts at 0 (zero).

tech_email

Optional

Can be used to search for deleted domains associated


with a specific tech email. Wildcards (*) are
accepted.

104

Response parameters for get_deleted_domains


Standard parameters
action = reply
object = domain
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

del_domains

Returned if is_success = Contains arrays that list details about


each deleted domain.
true
For more information, see the
Del_Domains table below.
The maximum number of domains
returned per page.

page_size

Returned if specified in
the request and
is_success = true.

total

Returned if is_success = The number of deleted domains.


true

Del_Domains
Parameters within the del_domains associative array are described below.
Parameter name Obligation

Definition / Value

delete_date

Always returned for deleted


domains.

The date that the domain was


deleted, in the format DD-MMMYYYY hh:mm:ss.

delete_date_epoch

Always returned for deleted


domains.

The date that the domain was


deleted, in UNIX time.

expire_date

Always returned for deleted


domains.

The date that the domain will


expire, in the format DD-MMMYYYY hh:mm:ss.

expiredate_epoch

Always returned for deleted


domains.

The date that the domain


expires, in UNIX time.
105

Parameter name Obligation

Definition / Value

name

Always returned if a deleted The domain that was deleted.


domain exists and meets the
specified search criteria.

reason

Always returned for deleted


domains.

Indicates if the domain was


deleted by request (revoked), or
deleted due to expiry:

y-Request

xpired

ransferred

istorical

Examples for get_deleted_domains


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">GET_DELETED_DOMAINS</item>
<item key="object">domain</item>
<item key="attributes">
<dt_assoc>
<item key="owner_email">*</item>
<item key="del_to">2011-10-10</item>
<item key="admin_email">*</item>
<item key="limit">10</item>
<item key="del_from">2000-10-10</item>
106

<item key="page">1</item>
<item key="billing_email">*</item>
<item key="exp_to">2014-10-10</item>
<item key="tech_email">*</item>
<item key="exp_from">2002-10-10</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">DOMAIN</item>
<item key="is_success">1</item>
<item key="response_code">200</item>
<item key="response_text">Command successful</item>
<item key="attributes">
<dt_assoc>
<item key="page">1</item>
<item key="page_size">2</item>
<item key="total">2</item>
<item key="del_domains">
<dt_array>
107

<item key="0">
<dt_assoc>
<item
key="expiredate_epoch">1229135427</item>
<item key="delete_date">12-DEC-2004
21:31:30</item>
<item key="reason">By-Request</item>
<item
key="delete_date_epoch">1102905090</item>
<item key="name">pure1102905253608.com</item>
<item key="expiredate">12-DEC-2008
21:30:27</item>
</dt_assoc>
</item>
<item key="1">
<dt_assoc>
<item
key="expiredate_epoch">1229135516</item>
<item key="delete_date">12-DEC-2004
21:32:48</item>
<item key="reason">By-Request</item>
<item
key="delete_date_epoch">1102905168</item>
<item key="name">pure1102905358159.net</item>
<item key="expiredate">12-DEC-2008
21:31:56</item>
</dt_assoc>
</item>
</dt_array>
</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

108

get (domain)
Description
Action & object
action = get
object = domain

Usage
Queries various types of data regarding the user's domain. For example, the
all_info type allows you to retrieve all data for the domain linked to the
current cookie. The list type queries the list of domains associated with the
user's profile. The list type can also be used to return a list of domains that
expire within a specified range. The nameservers type returns the
nameservers currently acting as DNS servers for the domain.

Request parameters for get (domain)


Standard Parameters
action = get
object = domain
registrant_ip = valid IP address of the registrant
cookie = cookie created to access OpenSRS, see "set(cookie)"
attributes
Note: The get (domain) command may be used without end-user credentials when
type=admin, all_info, billing, expire_action, forwarding_email (.NAME only),
list, tech, owner, nameservers, status, rsp_whois_info, ced_info,
nexus_info, or whois_privacy_state. For more information, see "SubmittingAPI
commandswithoutcredentials".

Attributes
Parameters within the attributes associative array are described below.
Parameter
name

Obligation

clean_ca_subset Optional

Definition / Value
Determines the type of contact_set values that
are returned for .CA domains when type =
admin or tech.
If clean_ca_subset = 1, the address data is
returned in the standard address fields
(address1, address2, and address3).
109

Parameter
name

Obligation

Definition / Value
If clean_ca_subset is not specified, the query
returns the values addr_address_number,
addr_corporative, addr_office,
addr_orientation, addr_street_cat, and
addr_street_name along with the standard
address fields (address1, address2, and
address3).

domain

Required if
cookie is not
submitted

The relevant domain.

limit

Optional

The maximum number of domains to return per


page.

max_to_expiry

Required when Defines the expiration range (in days): to fetch


type = list
the list of domains that are between
max_to_expiry and min_to_expiry before the
expiration date.
If min_to_expiry is not provided, it defaults to
0. If min_to_expiry > max_to_expiry, the list
is empty. These parameters can have negative
values, which means days past the expiration
date. For example, -5 means 5 days past the
expiration date.

min_to_expiry

Required when Defines the expiration range (in days): to fetch


type = list
the list of domains that are between
max_to_expiry and min_to_expiry before
expiration date.
If min_to_expiry is not provided, it defaults to
0. If min_to_expiry > max_to_expiry, the list
is empty. These parameters can have negative
values, which means days past the expiration
date. For example, -5 means 5 days past the
expiration date.

page

Optional

Determines which page to retrieve, using the


page number. The page index starts at 0 (zero).

type

Required

Type of query. Allowed values are:

adminReturns admin contact


information.

all_infoReturns all information.

auto_renew_flagDeprecated,
Returned list of domains.

billing Returns billing contact


information.
110

Parameter
name

Obligation

Definition / Value

ca_whois_display_settingReturns the
current CIRA Whois Privacy setting for .CA
domains.

domain_auth_info Returns domain


authorization code, if applicable.

expire_action Returns the action to be


taken upon domain expiry, specifically
whether to auto-renew the domain, or let
it expire silently.

forwarding_email Returns forwarding


email for .NAME 2nd level.

list Returns list of domains for user.

nameservers Returns nameserver


information.

owner Returns owner contact


information.

rsp_whois_info Returns name and


contact information for RSP.

status Returns lock or escrow status of


the domain.

tech Returns tech contact information.

tld_dataReturns additional information


that is required by some registries, such as
the residency of the registrant.

trademark Deprecated. Used for .CA


domains; returns 'Y' or 'N' value indicating
whether the registered owner of the
domain name is the legal holder of the
trademark for that word.

waiting history Returns information on


asynchronous requests.

whois_privacy_state Returns the state


for the WHOIS Privacy feature: enabled,
disabled, enabling, or disabling.
Note: If the TLD does not allow WHOIS
Privacy, always returns Disabled.

xpack_waiting_history Returns the


state of completed/cancelled requests not
yet deleted from the database for
.DKdomains.
All completed/cancelled requests are
deleted from the database two weeks after
they move to final state.

111

Deprecated
Parameter name

Obligation

Definition / Value

with_encoding_types

Deprecated

If submitted, this attribute is ignored.

Response parameters for get (domain)


Standard parameters
action = reply
object = domain
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

The response message returned varies depending on the value of the type
field that was used to send the request.

Return details for type = admin, billing, owner,or tech


Parameter
name

Obligation

Definition/Value

contact_set

Returned when type = An associative array containing the contact


owner, admin,
information of the requested type. For
billing, or tech and
details on contact fields, see "ContactSet".
is_success = true

descr

Returned when type = The domain description.


owner, admin,
billing, or tech and
is_success = true

Return details for type = all_info


The response message consists of a combination of the fields used for type =
nameserver, and type = owner, admin, tech, or billing. The contact_set
contains a type for each possible contact type.
Also returns the fields: auto_renew, expiredate, let_expire, sponsoring_rsp
as per the Extended Results of type = list.
Parameter name

Obligation

Definition/Value

affiliate_id

Returned if applicable and

The affiliate id associated with


112

Parameter name

Obligation

Definition/Value

is_success = 1

the domain.

descr

Returned when type =


all_info and is_success
= true

The text of the domain


description.

dns_errors

Returned when type =


all_info and is_success
= true

The text of the DNS errors.

nameserver_list

Returned when type =


all_info and is_success
= true

A list of nameservers. Each


nameserver is represented as
an anonymous associative
array.
For more information, see the
Nameserver_List table below.

registry_createdate

Returned when type =


all_info and is_success
= true

The date that the domain was


created at the Registry.

registry_expiredate

Returned when type =


all_info only if the
Registry provides this
information.

The domain's expiry date as


recorded at the Registry.

registry_transferdate

Returned when type =


all_info only if the
Registry provides this
information and the
domain was transferred.

The Registry's record of when


the domain was transferred.

registry_updatedate

Returned when type =


all_info only if the
Registry provides this
information.

The date the domain was last


updated at the Registry.

sponsoring_rsp

Returned when type =


all_info and is_success
= true

Indicates if the domain is under


your Reseller profile:

0Domain is
provisioned by a
different Reseller

1Domain is under your


Reseller profile (loggedin Reseller)

113

Parameter name

Obligation

Definition/Value

tld_data

Returned for .ASIA,


.AR, .AU, .BR, .CL, .COOP,
.DK, .FI, .HK, .HU, .IT,
.JOBS, .LV, .MX, .NO, .PM,
.PRO, .PT, .RE, .RO,
.RU, .SE, .TF, .US, .WF,
.XXX, .YT, and .ZA
domains when type =
all_info and is_success
= true

An associative array containing


registrant information.
For more information, see
tld_data.

Deprecated
Parameter name

Obligation

Definition/Value

rant_no

Deprecated

The CIRA Registrant number. Valid values


are:

valid CIRA Registrant number

0no existing CIRA Registrant


number or don't know CIRA
Registrant number.

Nameserver_List
Parameters within the nameserver_list associative array are described below.
Parameter
name

Obligation

Definition/Value

ip_address

Returned if the nameserver


has an IPv4 address.

The IPv4 address of the


nameserver.

ipv6

Returned if the nameserver


has an IPv6 address.

The IPv6 address of the


nameserver.

name

Returned when type =


all_info

The name of the nameserver.

sort_order

Returned when type =


all_info

The nameserver sort order.

114

Return details for type = ca_whois_display_setting


Parameters within the ca_whois_display_setting associative array are
described below.
Parameter
name

Obligation

display

Returned if
Indicates the current setting for the CIRA WHOIS
is_success = Privacy setting.
true
Allowed values are:

individual

Returned if
is_success =
true

Definition/Value

PRIVATEWhen a WHOIS lookup is done


on the domain name, do not display
personal information.

FULLWhen a WHOIS lookup is done on


the domain name, display all of the data
that is on the WHOIS directory, including
name, address, telephone number and
email address.

Indicates whether the domain owner is an


individual registrant. Only individual registrants
(Canadian citizens, Permanent residents, Legal
representatives, Aboriginal peoples) can change
their CIRA Whois Privacy setting.
Allowed values are Y or N.

Return details for type = domain_auth_info


Parameter name Obligation
domain_auth_info

Definition/Value

Returned when type Authentication password for the domain.


=
This facilitates transfers to others
domain_auth_info registrars.
and is_success =
true

Return details for type = expire_action


Parameter
name

Obligation

Definition/Value

auto_renew

Returned when type =


expire_action and
is_success = true

Indicates whether the domain can auto


renew or not:

0Do not auto-renew

1Auto-renew.

115

Parameter
name

Obligation

Definition/Value

expiredate

Returned when type =


expire_action and
is_success = true

The date that the domain is set to expire,


in the format YYYY-MM-DD HH24:MM:SS.

let_expire

Returned when type =


expire_action and
is_success = true

Indicates whether the domain is set to


expire silently:

0Do not expire silently.

1Expire silently

Return details for type = forwarding_email


Parameter
name

Obligation

Definition/Value

forwarding_email

Returned when type =


forwarding_email and
is_success = true

The domain's e-mail address that is


used for forwarding purposes.

Return details for type = list


Parameter
name

Obligation

Definition/Value

count

Returned when
type = list and
is_success =
true

The count (total number) of domain names in the


current user profile.

domain_list

Returned when
type = list and
is_success =
true

An array of domain name hashes.


For compatibility reasons, if you set
with_encoding_types attribute in the request to
0 or don't set it at all, then you get an array of
scalars, domain names.
For more information, see the Domain_List table
below.

ext_results

remainder

Returned when
type = list and
is_success =
true

An array of extended results that indicate the


domains and their expiry dates.

Returned when
type = list and
is_success =
true

A Boolean variable indicating whether there are


more domains in the list:

For more information, see the Ext_Results table


below.

0No more domains.

1More domains to be listed.

116

Domain_List
Parameters within the domain_list associative array are described below
Parameter
name

Obligation

Definition/Value

domain

Returned when
type = list and
is_success =
true

Fully qualified domain name.

encoding_type

Returned when
type = list and
is_success =
true

The three-character tag that represents the


language encoding type for the domain. For a
list of languages and codes, see AppendixC:
Encoding Types for IDNs.

Ext_Results
Parameters within the ext_results associative array are described below.
Parameter name Obligation

Definition/Value

auto_renew

Returned when
Status of the auto-renew flag:
type = list and
0Do not auto-renew
is_success = true
1Auto-renew

expiredate

Returned when
Expiration date of the domain.
type = list and
is_success = true

has_whois_privacy

Returned when
Indicates whether WHOIS Privacy is
type = list and
enabled:
is_success = true
0Disabled

1Enabled

let_expire

Returned when
Status of the let-expire flag:
type = list and
0Don't expire domain silently
is_success = true
1Expire domain silently

lock_state

Flag indicating if the domain is locked to


Returned when
prevent transfers:
type = list and
is_success = true
0Not locked.

sponsoring_rsp

1Locked.

Flag indicating if the domain is sponsored


Returned when
by the reseller making the call:
type = list and
is_success = true
0Not sponsoring RSP

1Sponsoring RSP

117

Deprecated
Parameter
name

Obligation

Definition/Value

wp_expiredate

Deprecated

Expiration date of WHOIS Privacy. (Always returns


0.)

wp_service

Deprecated

Flag indicating if WHOIS Privacy is enabled.

Return details for type = nameservers


Parameter
name

Obligation

Definition/Value

nameserver_list

Returned when type = A list of nameservers. Each nameserver is


nameservers and
represented as an anonymous associative
is_success = true
array.
For more information, see the
Nameserver_List table below.

Nameserver_List
Parameters within the nameserver_list associative array are described below.
Parameter
name

Obligation

Definition/Value

ipaddress

Returned when
type =
nameservers

IP address of the nameserver

name

Returned when
type =
nameservers

Fully qualified domain name of the nameserver.

sortorder

Returned when
type =
nameservers

Sort order of this nameserver. The sortorder


does not necessarily start at 0 and there may be
gaps between nameserver entries. It does
indicate the relative sorting order of the
nameservers. The sort order value must be
preserved for nameserver modification
commands.

Deprecated
Parameter
name

Obligation

Definition/Value

encoding_type

Deprecated

The encoding type for the nameserver.


118

Return details for type = rsp_whois_info


Parameter
name

Obligation

Definition/Value

business

Returned when type =


rsp_whois_info and
is_success = true

The business name of the RSP.

domain_enabled

Returned when type =


rsp_whois_info and
is_success = true

Indicates whether this feature enabled


for given domain:

email

Returned when type =


rsp_whois_info and
is_success = true

Email address of the RSP.

phone

Returned when type =


rsp_whois_info and
is_success = true

Phone number of the RSP.

rsp_enabled

Returned when type =


rsp_whois_info and
is_success = true

Indicates whether this feature is


enabled or disabled by RSP:

url

Returned when type =


rsp_whois_info and
is_success = true

YEnabled
NDisabled

YEnabled

NDisabled

The URL of the RSP.

Return details for type = status


Parameter name

Obligation

auctionescrow

Returned when type Indicates whether the domain has


= status and domain been placed in auction escrow. If in
is in auction escrow. auction escrow, the domain cannot be
renewed.

can_modify

Definition/Value

0Not in escrow.

1In escrow.

Returned when type Indicates whether the lock state can be


modified during this session:
= status and
is_success = true
0Cannot be modified.

domain_supports

1Can be modified.

Returned when type Indicates whether the TLD is one that


supports domain locking:
= status and
119

Parameter name

Obligation

Definition/Value

is_success = true

lock_state

0Does not support domain


locking.

1Supports domain locking

Returned when type Indicates whether the domain is


locked:
= status and
is_success = true
0Not locked.

1Locked.

parkp_status

Optional

Indicates if the domain is enabled for


the Parked Pages service. Values are
Enabled, Activating, or blank. If
returned but left blank, the domain is
not enabled.

transfer_away_in_
progress

Optional

If returned, indicates that the domain


is in the process of being transferred
away. Value is 1.

Note: The domain_supports and can_modify attributes are different in that a


TLD from a registry that supports domain locking always returns 1 for
domain_supports, but the state of the current session as well as the internal
state of the domain at OpenSRS affects can_modify. This is only true when
all of the following conditions are met:

Request is done through the sponsoring Reseller for the domain.


The TLD for the domain is one that supports locking at the registry level.
The domain is not locked internally by OpenSRS.
If a cookie is set for the session, it cannot be for a sub-user of the
domain.

Return details for type = tld_data


Parameter
name

Obligation

Definition/Value

tld_data

Returned for
.ASIA, .AR, .AU,
.BR, .CL. .COOP,
.DE, .DK, .FI,
.HK, .HU, .IT,
.JOBS, .LV, .MX,
.NO, .PM, .PRO,
.PT, .RE, .RO,
.RU, .SE, .TF,
.US, .WF, .XXX, .YT,
and .ZA domains

An associative array containing registrant


information.
For more information, see tld_data.

120

Parameter
name

Obligation

Definition/Value

when type
tld_data and
is_success = true

Return details for type = whois_privacy_state


Parameter
name

Obligation

Definition / Value

state

Returned when type =


whois_privacy_state and
is_success = true

WHOIS Privacy state: enabled,


disabled, enabling (in process), or
disabling (in process).

Deprecated
Parameter
name

Obligation

Definition/Value

changeable

Deprecated

Always returns 1 to indicate that the current state


can be changed to another state.
Note: changeble (a misspelling) is also
deprecated.

Return details for type = xpack_waiting_history


Parameter
name

Obligation

Definition / Value

record_count

Returned when type =


xpack_waiting_history
and is_success = true

The number of completed/cancelled


requests not yet deleted from the
database for xpack domains.

waiting_history

Returned when type =


xpack_waiting_history
and is_success = true

The history of the request.


For more information, see the
Waiting_History table below.

121

Waiting_History
Parameters within the waiting_history associative array are described below.
Parameter
name

Obligation

Definition / Value

create_time

Returned when type =


xpack_waiting_history
and is_success = true

The date and time the request was


initiated, in the format DD-MMM-YYYY
hh:mm:ss.

current_state

Returned when type =


xpack_waiting_history
and is_success = true

The current state of the request.

reg_type

Returned when type =


xpack_waiting_history
and is_success = true

Type of request. Completed and


cancelled requests are deleted from
the database two weeks after they
move to final state.

xpack_req_id

Returned when type =


xpack_waiting_history
and is_success = true

The identification number of the


request.

122

Get domain examples


For type = admin or tech
Example 1
Including the clean_ca_subset parameter

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="object">DOMAIN</item>
<item key="cookie">h5LkkIeCjbTDndsL:235293:6221</item>
<item key="action">GET</item>
<item key="attributes">
<dt_assoc>
<item key="clean_ca_subset">1</item>
<item key="type">admin</item>
</dt_assoc>
</item>
<item key="registrant_ip">10.0.62.128</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

Response
<?xml version='1.0' encoding="UTF-8" standalone="no" ?>
123

<!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">DOMAIN</item>
<item key="is_success">1</item>
<item key="response_code">200</item>
<item key="response_text">Query Successful</item>
<item key="action">REPLY</item>
<item key="attributes">
<dt_assoc>
<item key="contact_set">
<dt_assoc>
<item key="admin">
<dt_assoc>
<item key="address1">32 Oak Street</item>
<item key="address2"></item>
<item key="address3"></item>
<item key="city">Toronto</item>
<item key="state">ON</item>
<item key="postal_code">M1M1M1</item>
<item key="country">CA</item>
<item key="org_name">Example Company</item>
<item key="phone">+1.4165551212</item>
<item key="fax"></item>
<item key="first_name">Marlin</item>
<item key="last_name">Wilk</item>
<item key="email">test@example.com</item>
<item key="lang">EN</item>
</dt_assoc>
</item>
124

</dt_assoc>
</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

Example 2
Without the clean_ca_subset parameter

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">GET</item>
<item key="object">DOMAIN</item>
<item key="registrant_ip">10.0.62.128</item>
<item key="cookie">HyaiLx1KeHzxRWdX:235293:5217</item>
<item key="attributes">
<dt_assoc>
<item key="type">admin</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

125

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="object">DOMAIN</item>
<item key="response_text">Query Successful</item>
<item key="action">REPLY</item>
<item key="attributes">
<dt_assoc>
<item key="contact_set">
<dt_assoc>
<item key="admin">
<dt_assoc>
<item key="addr_address_number"></item>
<item key="addr_corporative"></item>
<item key="addr_office"></item>
<item key="addr_orientation"></item>
<item key="addr_street_cat"></item>
<item key="addr_street_name">32 Oak Street</item>
<item key="address1">32 Oak Street</item>
<item key="address2"></item>
<item key="address3"></item>
<item key="city">Toronto</item>
<item key="state">ON</item>
<item key="postal_code">M1M1M1</item>
<item key="country">CA</item>
<item key="org_name">Example Company</item>
<item key="first_name">Marlin</item>
126

<item key="last_name">Wilk</item>
<item key="lang">EN</item>
<item key="email">test@example.com</item>
<item key="phone">+1.4165551212</item>
<item key="fax"></item>
</dt_assoc>
</item>
</dt_assoc>
</item>
</dt_assoc>
</item>
<item key="response_code">200</item>
<item key="is_success">1</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

Example 3
Without end-user credentials

Request
<?xml version="1.0" encoding="UTF-8" standalone='yes'?>
<!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">GET</item>
<item key="object">DOMAIN</item>
<item key="attributes">
<dt_assoc>
<item key="domain">mydomain.com</item>
127

<item key="type">admin</item>
<item key="limit">10</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

Response
<?xml version="1.0" encoding="UTF-8" standalone='yes'?>
<!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">DOMAIN</item>
<item key="response_code">200</item>
<item key="response_text">Query Successful</item>
<item key="is_success">1</item>
<item key="attributes">
<dt_assoc>
<item key="contact_set">
<dt_assoc>
<item key="billing">
<dt_assoc>
<item key="org_name">Empire Limited Inc.</item>
<item key="first_name">George</item>
<item key="last_name">Walsh</item>
<item key="address1">44 Hemlock St.</item>
<item key="address2"></item>
128

<item key="address3"></item>
<item key="city">Tampa</item>
<item key="state">Florida</item>
<item key="country">US</item>
<item key="postal_code">90211</item>
<item key="phone">+1.4165551122</item>
<item key="fax"></item>
<item key="email">gwalsh@mydomain.com</item>
</dt_assoc>
</item>
</dt_assoc>
</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

129

For type = all_info


Example 1
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">get</item>
<item key="object">domain</item>
<item key="cookie">24128866:3210384</item>
<item key="registrant_ip">111.121.121.121</item>
<item key="attributes">
<dt_assoc>
<item key="type">all_info</item>
<item key="limit">10</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">

130

<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">DOMAIN</item>
<item key="is_success">1</item>
<item key="response_code">200</item>
<item key="response_text">Query Successful</item>
<item key="attributes">
<dt_assoc>
<item key="auto_renew">0</item>
<item key="registry_createdate">2006-12-12
21:27:25</item>
<item key="registry_expiredate">2007-12-12
21:27:25</item>
<item key="registry_updatedate">2006-12-12
21:27:25</item>
<item key='affiliate_id'>NUAffiliate123</item>
<item key="sponsoring_rsp">1</item>
<item key="expiredate">2007-12-12 21:27:25</item>
<item key="let_expire">0</item>
<item key="contact_set">
... see "Contact Set"
</item>
<item key="nameserver_list">
<dt_array>
<item key="0">
<dt_assoc>
<item key="ipaddress">21.40.33.21</item>
<item key="sortorder">1</item>
<item key="name">ns1.systemdns.com</item>
</dt_assoc>
</item>
131

<item key="1">
<dt_assoc>
<item
key="ipaddress">207.136.100.142</item>
<item key="sortorder">2</item>
<item key="name">ns2.systemdns.com</item>
</dt_assoc>
</item>
<item key="2">
<dt_assoc>
<item key="ipaddress">24.22.23.28</item>
<item key="sortorder">3</item>
<item
key="name">patrick.example.com</item>
</dt_assoc>
</item>
<item key="3">
<dt_assoc>
<item key="ipaddress">24.22.23.24</item>
<item key="sortorder">4</item>
<item key="name">qa1.example.com</item>
</dt_assoc>
</item>
<item key="4">
<dt_assoc>
<item key="ipaddress">24.22.23.25</item>
<item key="sortorder">5</item>
<item key="name">qa2.example.com</item>
</dt_assoc>
</item>
</dt_array>
</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
132

</body>
</OPS_envelope>

Example 2
For .CA domains

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">GET</item>
<item key="object">DOMAIN</item>
<item key="cookie">NNMxlmPhKbMOWswr:654537:28355</item>
<item key="attributes">
<dt_assoc>
<item key="limit">10</item>
<item key="type">all_info</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>
133

<header>
<version>0.9</version>
</header>
<body>
<data_block>
<dt_assoc>
<item key="protocol">XCP</item>
<item key="action">REPLY</item>
<item key="object">DOMAIN</item>
<item key="is_success">1</item>
<item key="response_text">Query Successful</item>
<item key="response_code">200</item>
<item key="attributes">
<dt_assoc>
<item key="registry_createdate">2009-10-26 00:00:00</item>
<item key="fqdn2">ns3.systemdns.com</item>
<item key="legal_type">CCT</item>
<item key="fqdn1">ns2.systemdns.com</item>
<item key="sponsoring_rsp">1</item>
<item key="expiredate">2010-10-26 00:00:00</item>
<item key="auto_renew">0</item>
<item key="registry_expiredate">2010-10-26 00:00:00</item>
<item key="nameserver_list">
<dt_array>
<item key="0">
<dt_assoc>
<item key="name">ns2.systemdns.com</item>
<item key="sortorder">1</item>
<item key="ipaddress"></item>
</dt_assoc>
</item>
<item key="1">
<dt_assoc>
<item key="name">ns3.systemdns.com</item>
<item key="sortorder">2</item>
134

<item key="ipaddress"></item>
</dt_assoc>
</item>
<item key="2">
<dt_assoc>
<item key="name">ns1.systemdns.com</item>
<item key="sortorder">3</item>
<item key="ipaddress"></item>
</dt_assoc>
</item>
</dt_array>
</item>
<item key="let_expire">0</item>
<item key="contact_set">
<dt_assoc>
<item key="owner">
<dt_assoc>
<item key="org_name">Setter Sanctuary</item>
<item key="first_name">Owen</item>
<item key="last_name">Ottway</item>
<item key="address1">32 Oak St.</item>
<item key="address2">Suite 100</item>
<item key="address3"/>
<item key="city">Toronto</item>
<item key="state">ON</item>
<item key="postal_code">M1M1M1</item>
<item key="country">CA</item>
<item key="phone">+14165551212</item>
<item key="fax"></item>
<item key="email">ottway@example.com</item>
</dt_assoc>
</item>
<item key="admin">
<dt_assoc>
<item key="country">CA</item>
135

<item key="org_name">Setter Sanctuary</item>


<item key="phone">+14165551212</item>
<item key="state">ON</item>
<item key="last_name">Wilk</item>
<item key="address2"></item>
<item key="email">rwilk@example.com</item>
<item key="lang">EN</item>
<item key="city">Toronto</item>
<item key="postal_code">M1M1M1</item>
<item key="fax"></item>
<item key="address1"> 123 Oak St.</item>
<item key="first_name">Marlin</item>
</dt_assoc>
</item>
<item key="tech">
<dt_assoc>
<item key="country">CA</item>
<item key="org_name">Setter Sanctuary</item>
<item key="phone">+14165551212</item>
<item key="state">ON</item>
<item key="last_name">Wilk</item>
<item key="address2"></item>
<item key="email">rwilk@example.com</item>
<item key="lang">EN</item>
<item key="city">Toronto</item>
<item key="postal_code">M1M1M1</item>
<item key="fax"></item>
<item key="address1"> 123 Oak St.</item>
<item key="first_name">Robson</item>
</dt_assoc>
</item>
</dt_assoc>
</item>
<item key="domain_description"></item>
<item key="fqdn3">ns1.systemdns.com</item>
</dt_assoc>
136

</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

Example 3
For .AU domains

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'>get</item>
<item key='object'>domain</item>
<item key='cookie'>CpnuM7wfv81zsYGl:685255:1736</item>
<item key='attributes'>
<dt_assoc>
<item key='type'>all_info</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

137

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="object">DOMAIN</item>
<item key="is_success">1</item>
<item key="response_code">200</item>
<item key="response_text">Query Successful</item>
<item key="action">REPLY</item>
<item key="attributes">
<dt_assoc>
<item key="tld_data">
<dt_assoc>
<item key="au_registrant_info">
<dt_assoc>
<item key="eligibility_type">Charity</item>
<item key="registrant_id">38 144 482 002</item>
<item key="registrant_id_type">ABN</item>
<item key="registrant_name">Example Company Ltd</item>
<item key="policy_reason">1</item>
</dt_assoc>
</item>
</dt_assoc>
</item>
<item key="registry_createdate">2010-09-22 18:29:35</item>
<item key="auto_renew">1</item>
<item key="sponsoring_rsp">1</item>
<item key="expiredate">2012-09-22 18:29:35</item>
138

<item key="registry_expiredate">2012-09-22 18:29:35</item>


<item key="nameserver_list">
<dt_array>
<item key="0">
<dt_assoc>
<item key="name">ns1.systemdns.com</item>
<item key="sortorder">1</item>
<item key="ipaddress"></item>
</dt_assoc>
</item>
<item key="1">
<dt_assoc>
<item key="name">ns2.systemdns.com</item>
<item key="sortorder">2</item>
<item key="ipaddress"></item>
</dt_assoc>
</item>
</dt_array>
</item>
<item key='contact_set'>
... see "Contact Set"
</item>
<item key="let_expire">0</item>
<item key="registry_updatedate">2010-09-22 18:30:05</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

Example 4
For .XXX domains

Request
<?xml version='1.0' encoding='UTF-8' standalone='no'?>
<!DOCTYPE OPS_envelope SYSTEM 'ops.dtd'>
139

<OPS_envelope>
<header>
<version>0.9</version>
</header>
<body>
<data_block>
<dt_assoc>
<item key='protocol'>XCP</item>
<item key='action'>get</item>
<item key='object'>domain</item>
<item key='cookie'>DopdK7wvd8erYGl:502741:5622</item>
<item key='attributes'>
<dt_assoc>
<item key='type'>all_info</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'>DOMAIN</item>
<item key='response_text'>Query Successful</item>
140

<item key='is_success'>1</item>
<item key='response_code'>200</item>
<item key='attributes'>
<dt_assoc>
<item key='auto_renew'>1</item>
<item key='ipr_data'>
<dt_assoc>
<item key='icm_membership_id'>123456</item>
</dt_assoc>
</item>
<item key='contact_set'>
... see "Contact Set"
</item>
<item key='registry_updatedate'>2011-11-29 21:16:04</item>
<item key='sponsoring_rsp'>1</item>
<item key='registry_createdate'>2011-11-29 21:11:25</item>
<item key='expiredate'>2012-11-29 21:11:25</item>
<item key='let_expire'>0</item>
<item key='registry_expiredate'>2012-11-29 21:11:25</item>
<item key='nameserver_list'>
<dt_array>
<item key='0'>
<dt_assoc>
<item key='name'>ns1.systemdns.com</item>
<item key='sortorder'>1</item>
<item key='ipaddress'/>
</dt_assoc>
</item>
<item key='1'>
<dt_assoc>
<item key='name'>ns2.systemdns.com</item>
<item key='sortorder'>2</item>
<item key='ipaddress'/>
</dt_assoc>
</item>
141

</dt_array>
</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

142

For type = ca_whois_display_setting


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">GET</item>
<item key="object">DOMAIN</item>
<item key="cookie">M813iGXs5fNhAJYt:256158:11781</item>
<item key="attributes">
<dt_assoc>
<item key="type">ca_whois_display_setting</item>
<item key="registrant_ip">10.0.62.142</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

143

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">DOMAIN</item>
<item key="is_success">1</item>
<item key="response_code">200</item>
<item key="response_text">OK</item>
<item key="attributes">
<dt_assoc>
<item key="individual">Y</item>
<item key="display">FULL</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

144

For type = domain_auth_info


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">get</item>
<item key="object">domain</item>
<item key="cookie">24128866:3210384</item>
<item key="attributes">
<dt_assoc>
<item key="type">domain_auth_info</item>
<item key="limit">10</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>

145

<item key="action">REPLY</item>
<item key="object">DOMAIN</item>
<item key="is_success">1</item>
<item key="response_code">200</item>
<item key="response_text">Query Successful</item>
<item key="attributes">
<dt_assoc>
<item key="domain_auth_info">ewgnRwnH</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

146

For type = expire_action


This command returns the action that occurs on domain expiry, in particular
whether the domain will renew automatically, or silently expires.
Note: The list type will return, at most, 40 domains per command. Use the
page attribute in the get request to retrieve more than 40 domains.

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">get</item>
<item key="object">domain</item>
<item key="cookie">24128866:3210384</item>
<item key="attributes">
<dt_assoc>
<item key="type">expire_action</item>
<item key="limit">10</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>

147

</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">DOMAIN</item>
<item key="response_code">200</item>
<item key="response_text">Query Successful</item>
<item key="is_success">1</item>
<item key="attributes">
<dt_assoc>
<item key="ext_results">
<dt_array>
<item key="0">
<dt_assoc>
<item key="domain1">
<dt_assoc>
<item key="auto_renew">1</item>
<item key="expiredate">2001-07-15
15:41:11</item>
</dt_assoc>
</item>
</dt_assoc>
</item>
<item key="1">
<dt_assoc>
148

<item key="domain2">
<dt_assoc>
<item key="auto_renew">0</item>
<item key="expiredate">2001-11-21 14:16:23</item>
</dt_assoc>
</item>
</dt_assoc>
</item>
</dt_array>
</item>
</dt_assoc>
<item key="count">33</item>
<item key="domain_list">
<dt_array>
<item key="0">
<dt_assoc>
<item key="domain">domain1</item>
</dt_assoc>
</item>
</dt_array>
</item>
<item key="remainder">1</item>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

149

For type = forwarding_email


This type is currently for use with .NAME domains which have been bundled
or which have been upgraded with email forwarding.

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">get</item>
<item key="object">domain</item>
<item key="cookie">24128866:3210384</item>
<item key="attributes">
<dt_assoc>
<item key="type">forwarding_email</item>
<item key="limit">10</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>

150

<data_block>
<dt_assoc>
<item key="protocol">XCP</item>
<item key="action">REPLY</item>
<item key="object">DOMAIN</item>
<item key="is_success">1</item>
<item key="response_code">200</item>
<item key="response_text">Query Successful</item>
<item key="attributes">
<dt_assoc>
<item key="forwarding_email"/>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

151

For type = list


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">get</item>
<item key="object">domain</item>
<item key="cookie">24128866:3210384</item>
<item key="attributes">
<dt_assoc>
<item key="type">list</item>
<item key="limit">10</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>

152

<item key="protocol">XCP</item>
<item key="action">REPLY</item>
<item key="object">DOMAIN</item>
<item key="is_success">1</item>
<item key="response_code">200</item>
<item key="response_text">Command Successful</item>
<item key="attributes">
<dt_assoc>
<item key="count">1</item>
<item key="remainder">0</item>
<item key="domain_list">
<dt_array>
<item key="0">example.com</item>
</dt_array>
</item>
<item key="ext_results">
<dt_array>
<item key="0">
<dt_assoc>
<item key="example.com">
<dt_assoc>
<item key="let_expire">0</item>
<item key="wp_service">0</item>

153

<item
key="has_whois_privacy">0</item>
<item key="sponsoring_rsp">1</item>
<item key="auto_renew">0</item>
<item key="lock_state">0</item>
<item key="expiredate">0</item>
</dt_assoc>
</item>
</dt_assoc>
</item>
</dt_array>
</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

154

For type = nameservers


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">get</item>
<item key="object">domain</item>
<item key="cookie">24128866:3210384</item>
<item key="registrant_ip">111.121.121.121</item>
<item key="attributes">
<dt_assoc>
<item key="type">nameservers</item>
<item key="limit">10</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>
155

</header>
<body>
<data_block>
<dt_assoc>
<item key="protocol">XCP</item>
<item key="action">REPLY</item>
<item key="object">DOMAIN</item>
<item key="is_success">1</item>
<item key="response_code">200</item>
<item key="response_text">Query Successful</item>
<item key="attributes">
<dt_assoc>
<item key="type">nameservers</item>
<item key="nameserver_list">
<dt_array>
<item key="0">
<dt_assoc>
<item key="ipaddress">21.40.33.21</item>
<item key="sortorder">1</item>
<item key="name">ns1.systemdns.com</item>
</dt_assoc>
</item>
<item key="1">
<dt_assoc>
<item
key="ipaddress">207.136.100.142</item>
<item key="sortorder">2</item>
<item key="name">ns2.systemdns.com</item>
</dt_assoc>
</item>
</dt_array>
</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
156

</OPS_envelope>

For type = owner, admin, billing, or tech


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">get</item>
<item key="object">domain</item>
<item key="cookie">24128866:3210384</item>
<item key="attributes">
<dt_assoc>
<item key="type">owner</item>
<item key="limit">10</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>
157

<data_block>
<dt_assoc>
<item key="protocol">XCP</item>
<item key="action">REPLY</item>
<item key="object">DOMAIN</item>
<item key="is_success">1</item>
<item key="response_code">200</item>
<item key="response_text">Query Successful</item>
<item key="attributes">
<dt_assoc>
<item key="contact_set">
... see "Contact Set"
</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

158

For type = rsp_whois_info


Example 1
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">get</item>
<item key="object">domain</item>
<item key="cookie">24128866:3210384</item>
<item key="attributes">
<dt_assoc>
<item key="type">rsp_whois_info</item>
<item key="limit">10</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>

159

<body>
<data_block>
<dt_assoc>
<item key="protocol">XCP</item>
<item key="action">REPLY</item>
<item key="object">DOMAIN</item>
<item key="is_success">1</item>
<item key="response_code">200</item>
<item key="response_text">Command successful</item>
<item key="attributes">
<dt_assoc>
<item key="url"/>
<item key="domain_enabled">Y</item>
<item key="rsp_enabled">Y</item>
<item key="fax"/>
<item key="business">Example</item>
<item key="opt_info">This company may be contacted
for domain login/passwords, DNS/Nameserver changes, and general domain
support questions.</item>
<item key="email">fraser@example.com</item>
<item key="phone">+1.4165350123</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

Example 2
Without end-user credentials

Request
<?xml version="1.0" encoding="UTF-8" standalone='yes'?>
<!DOCTYPE OPS_envelope SYSTEM 'ops.dtd'>
<OPS_envelope>
<header>
160

<version>0.9</version>
</header>
<body>
<data_block>
<dt_assoc>
<item key="protocol">XCP</item>
<item key="action">get</item>
<item key="object">DOMAIN</item>>
<item key="attributes">
<dt_assoc>
<item key="domain">mydomain.com</item
<item key="type">rsp_whois_info</item>
<item key="limit">10</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

Response
<?xml version="1.0" encoding="UTF-8" standalone='yes'?>
<!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">DOMAIN</item>
<item key="is_success">1</item>
<item key="response_code">200</item>
<item key="response_text">Command successful</item>
<item key="attributes">
<dt_assoc>

161

<item key="business">Enterprise Limited Inc</item>


<item key="email">rspemail@elimited.com</item>
<item key="domain_enabled">Y</item>
<item key="rsp_enabled">Y</item>
<item key="phone">+1351.3451212</item>
<item key="fax"></item>
<item key="url"></item>
<item key="opt_info"></item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

162

For type = status


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">get</item>
<item key="object">domain</item>
<item key="cookie">24128866:3210384</item>
<item key="attributes">
<dt_assoc>
<item key="type">status</item>
<item key="limit">10</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>
163

<data_block>
<dt_assoc>
<item key="protocol">XCP</item>
<item key="action">REPLY</item>
<item key="object">DOMAIN</item>
<item key="is_success">1</item>
<item key="response_code">200</item>
<item key="response_text">Command successful</item>
<item key="attributes">
<dt_assoc>
<item key="can_modify">0</item>
<item key="domain_supports">1</item>
<item key="auctionescrow">1</item>
<item key="parkp_status">enabled</item>
<item key="lock_state">0</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

Response if domain is being transferred away


<?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">DOMAIN</item>
<item key="is_success">1</item>
164

<item key="response_code">200</item>
<item key="response_text">Command successful</item>
<item key="attributes">
<dt_assoc>
<item key="can_modify">0</item>
<item key="domain_supports">1</item>
<item key="parkp_status"/>
<item key="lock_state">0</item>
<item key="transfer_away_in_progress">1</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

165

For type = tld_data


Example 1
For a .ASIA domain

Request
<?xml version='1.0' encoding='UTF-8'?>
<!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'>get</item>
<item key='object'>domain</item>
<item key='cookie'>lQr4eKXz4ydiFBXL:698303:1653</item>
<item key='attributes'>
<dt_assoc>
<item key='type'>tld_data</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>
166

<body>
<data_block>
<dt_assoc>
<item key='protocol'>XCP</item>
<item key='action'>REPLY</item>
<item key='object'>DOMAIN</item>
<item key='response_text'>Query Successful</item>
<item key='response_code'>200</item>
<item key='is_success'>1</item>
<item key='attributes'>
<dt_assoc>
<item key='tld_data'>
<dt_assoc>
<item key='ced_info'>
<dt_assoc>
<item
key='legal_entity_type_info'>proprietorship</item>
<item key='locality_state_prov'>NSW</item>
<item key='id_type'>other</item>
<item key='contact_type'>tech</item>
<item key='locality_city'>Sydney</item>
<item key='locality_country'>AU</item>
<item key='id_type_info'>driver\'s license</item>
<item key='legal_entity_type'>other</item>
<item key='id_number'>AB1234567</item>
</dt_assoc>
</item>
</dt_assoc>
</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

167

Example 2
For a .COOP domain

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'>get</item>
<item key='object'>domain</item>
<item key='cookie'>ndxOATL2zdtVpWXJ:710538:6469</item>
<item key='attributes'>
<dt_assoc>
<item key='type'>tld_data</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>

168

<dt_assoc>
<item key='protocol'>XCP</item>
<item key='action'>REPLY</item>
<item key='object'>DOMAIN</item>
<item key='response_code'>200</item>
<item key='is_success'>1</item>
<item key='response_text'>Query Successful</item>
<item key='attributes'>
<dt_assoc>
<item key='tld_data'>
<dt_assoc>
<item key='registrant_extra_info'>
<dt_assoc>
<item key='coop_verification_code'>123456789</item>
</dt_assoc>
</item>
</dt_assoc>
</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

Example 3
For a .DK domain

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>

169

<data_block>
<dt_assoc>
<item key='protocol'>XCP</item>
<item key='action'>get</item>
<item key='object'>domain</item>
<item key='cookie'>pKuqcg3if1AeYWB8:754002:2258</item>
<item key='attributes'>
<dt_assoc>
<item key='type'>tld_data</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'>DOMAIN</item>
<item key='response_code'>200</item>
<item key='is_success'>1</item>
<item key='response_text'>Query Successful</item>
<item key='attributes'>
<dt_assoc>
<item key='tld_data'>
<dt_assoc>
<item key='registrant_extra_info'>

170

<dt_assoc>
<item key='registrant_type'>organization</item>
<item key='registrant_vat_id'>123456789</item>
</dt_assoc>
</item>
</dt_assoc>
</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

Example 4
For a .JOBS domain

Request
<?xml version='1.0' encoding='UTF-8'?>
<!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'>get</item>
<item key='object'>domain</item>
<item key='cookie'>7rQitruAeYGgKcBO:707623:6222</item>
<item key='attributes'>
<dt_assoc>
<item key='type'>tld_data</item>
</dt_assoc>
</item>
</dt_assoc>

171

</data_block>
</body>
</OPS_envelope>

Response
<?xml version='1.0' encoding='UTF-8'?>
<!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'>DOMAIN</item>
<item key='response_code'>200</item>
<item key='is_success'>1</item>
<item key='response_text'>Query Successful</item>
<item key='attributes'>
<dt_assoc>
<item key='tld_data'>
<dt_assoc>
<item key='registrant_extra_info'>
<dt_assoc>
<item key='jobs_admin_type'>Yes</item>
<item key='jobs_industry_type'>Supply Chain
Management</item>
<item key='jobs_title'>HR Generalist</item>
<item key='jobs_association_member'>Yes</item>
<item

172

key='jobs_website'>http://www.example.com</item>
</dt_assoc>
</item>
</dt_assoc>
</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

Example 5
For .LV and .COM.LV domains

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'>get</item>
<item key='object'>domain</item>
<item key='cookie'>BOx2X6bZrHX4HeXp:710540:6468</item>
<item key='attributes'>
<dt_assoc>
<item key='type'>tld_data</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>

173

</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'>DOMAIN</item>
<item key='response_code'>200</item>
<item key='is_success'>1</item>
<item key='response_text'>Query Successful</item>
<item key='attributes'>
<dt_assoc>
<item key='tld_data'>
<dt_assoc>
<item key='registrant_extra_info'>
<dt_assoc>
<item key='registrant_type'>individual</item>
<item key='id_card_number'>987654321</item>
</dt_assoc>
</item>
</dt_assoc>
</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

174

Example 6
For a .PRO domain

Request
<?xml version='1.0' encoding='UTF-8'?>
<OPS_envelope>
<header>
<version>0.9</version>
</header>
<body>
<data_block>
<dt_assoc>
<item key='attributes'>
<dt_assoc>
<item key='type'>tld_data</item>
</dt_assoc>
</item>
<item key='protocol'>XCP</item>
<item key='action'>get</item>
<item key='object'>domain</item>
<item key='cookie'>kXO4IpLLr7EJidWD:698312:17335</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>

175

<dt_assoc>
<item key='protocol'>XCP</item>
<item key='action'>REPLY</item>
<item key='object'>DOMAIN</item>
<item key='response_text'>Query Successful</item>
<item key='response_code'>200</item>
<item key='is_success'>1</item>
<item key='attributes'>
<dt_assoc>
<item key='tld_data'>
<dt_assoc>
<item key='professional_data'>
<dt_assoc>
<item key='profession'>Dentist</item>
<item key='license_number'>123456789</item>
<item key='authority_website'>http://www.cdaadc.ca/</item> Association</item>
<item key='authority'>Canadian Dental
</dt_assoc>
</item>
</dt_assoc>
</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

176

For type = waiting history


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">get</item><item key="object">domain</item>
<item key="cookie">24128866:3210384</item>
<item key="attributes">
<dt_assoc>
<item key="type">waiting_history</item>
<item key="limit">10</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>
177

<item key="protocol">XCP</item>
<item key="action">REPLY</item>
<item key="object">DOMAIN</item>
<item key="is_success">1</item>
<item key="response_code">200</item>
<item key="response_text">Query Successful</item>
<item key="attributes">
<dt_assoc>
<item key="record_count">0</item>
<item key="waiting_history">
<dt_array/>
</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

178

For type = whois_privacy_state


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">GET</item>
<item key="object">DOMAIN</item>
<item key="cookie">746419257:9536368</item>
<item key="registrant_ip"/>
<item key="attributes">
<dt_assoc>
<item key="type">whois_privacy_state</item>
<item key="limit">10</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

179

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">DOMAIN</item>
<item key="is_success">1</item>
<item key="response_code">200</item>
<item key="response_text">Query Successful</item>
<item key="attributes">
<dt_assoc>
<item key="state">enabled</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

180

For type = xpack_waiting_history


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">GET</item>
<item key="object">DOMAIN</item>
<item key="cookie">963351639</item>
<item key="attributes">
<dt_assoc>
<item key="type">xpack_waiting_history</item>
<item key="limit">10</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>

181

<dt_assoc>
<item key="protocol">XCP</item>
<item key="action">REPLY</item>
<item key="object">DOMAIN</item>
<item key="is_success">1</item>
<item key="response_code">200</item>
<item key="response_text">Query Successful</item>
<item key="attributes">

182

<dt_assoc>
<item key="record_count">1</item>
<item key="waiting_history">
<dt_array>
<item key="0">
<dt_assoc>
<item key="xpack_req_id">156013</item>
<item key="current_state">INITIATE</item>
<item key="create_time">05-JAN-2006
03:25:18</item>
<item key="req_type">domain_change</item>
</dt_assoc>
</item>
</dt_array>
</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

183

get_domain_affiliate_id
Description
Action & object
action = get_domain_affiliate_id
object = domain
Usage
Retrieves the affiliate id associated with a domain.

Request parameters for get_domain_affiliate_id


Standard parameters
action = get_domain_affiliate_id
object = domain
attributes
Attributes
Parameters within the attributes associative array are described below.
Parameter name

Obligation Definition / Value

domain

Required

The domain name to be queried.

Response parameters for get_domain_affiliate_id


Standard parameters
action = reply
object = domain
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

184

Attributes
If the request is successful, the attributes associative array may include the
following:
Parameter
name

Obligation

Definition / Value

affiliate_id

Returned if is_success
=1

The affiliate id associated with the


domain.

Examples for get_domain_affiliate_id


Request
<?xml version='1.0' encoding='UTF-8' standalone='no'?>
<!DOCTYPE OPS_envelope SYSTEM 'ops.dtd'>
<OPS_envelope>
<header>
<version>0.9</version>
<msg_type>standard</msg_type>
</header>
<body>
<data_block>
<dt_assoc>
<item key='protocol'>XCP</item>
<item key='action'>get_domain_affiliate_id</item>
<item key='object'>domain</item>
<item key='attributes'>
<dt_assoc>
<item key='domain'>example.com</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

185

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'>DOMAIN</item>
<item key='response_code'>200</item>
<item key='response_text'>Command Successful</item>
<item key='is_success'>1</item>
<item key='attributes'>
<dt_assoc>
<item key='affiliate_id'>UpdatedAffiliate</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

186

get_domains_contacts
Description
Action & object
action = get_domains_contacts
object = domain

Usage
Queries the contact information for the specified domains.

Request parameters for get_domains_contacts


Standard parameters
action = get_domains_contacts
object = domain
attributes

Attributes
Parameters within the attributes associative array are described below.
Parameter
name

Obligation

Definition/Value

domain_list

Always
returned

The list of domain names for which to query contact


information. The maximum number of domains that
can be specified in a single request is 100.

Response parameters for get_domains_contacts


Standard parameters
action = reply
object = domain
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

187

Attributes
The attributes array includes an array of associative arrays, one for each
domain queried. The associative array for each domain includes the contact
set for that domain.

Examples for get_domains_contacts


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">GET_DOMAINS_CONTACTS</item>
<item key="object">DOMAIN</item>
<item key="attributes">
<dt_assoc>
<item key="domain_list">
<dt_array>
<item key="0">js4.be</item>
<item key="1">js3.be</item>
</dt_array>
</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

188

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">DOMAIN</item>
<item key="is_success">1</item>
<item key="response_code">200</item>
<item key="response_text">Command successful</item>
<item key="attributes">
<dt_assoc>
<item key="js3.be">
<dt_assoc>
<item key="contact_set">
... see "Contact Set"
</item>
</dt_assoc>
</item>
<item key="js4.be">
<dt_assoc>
<item key="contact_set">
... see "Contact Set"
</item>
</dt_assoc>
</item>
</dt_assoc>
</item>
189

</dt_assoc>
</data_block>
</body>
</OPS_envelope>

190

get_domains_by_expiredate
Description
Action & object
action = get_domains_by_expiredate
object = domain

Usage
Retrieves domains that expire within a specified date range.

Request parameters for


get_domains_by_expiredate
Standard parameters
action = get_domains_by_expiredate
object = domain
attributes

Attributes
Parameters within the attributes associative array are described below.
Parameter
name

Obligation

Definition/Value

exp_from

Required

Used in conjunction with exp_to attribute.


The date from which to list expiring
domains.
Date must be in the format YYYY-MM-DD.

exp_to

Required

Used in conjunction with exp_from


attribute. The date until which to list
expiring domains.
Date must be in the format YYYY-MM-DD.

limit

The number of domains to return on each


Optional - if not
specified, the default '40' page.
will be used.

page

Optional - if not
specified, the default '1'
will be used.

Determines which page to retrieve, using


the page number. The page index starts at
0 (zero).

191

Response parameters for


get_domains_by_expiredate
Standard parameters
action = reply
object = domain
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

exp_domains

Returned if
Lists the domains that expire during the specified
is_success = period.
true
For more information, see the Exp_Domains table
below.

page

Returned if
The number of the page retrieved.
is_success =
true

remainder

Returned if
Indicates if some expiring domains were not
is_success = returned due to restrictions set by the page and
true
limit values.

total

Definition/Value

0No, all expiring domains are listed.

1Yes, there are remaining expiring


domains not listed.

The total number of domains expiring in the


Returned if
is_success = specified date range.
true

Exp_Domains
Parameters within the exp_domains associative array are described below.
Parameter
name

Obligation

Definition/Value

expiredate

Always

The date the domain expires.


192

Obligation

Parameter
name

Definition/Value

returned
f_auto_renew

Always
returned

Flag (Y or N) indicating whether domain is


automatically renewed.

f_let_expire

Always
returned

Flag (Y or N) indicating whether domain is


allowed to expire.

name

Always
returned

The name of the domain that is expiring.

Examples for get_domains_by_expiredate


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">get_domains_by_expiredate</item>
<item key="object">domain</item>
<item key="attributes">
<dt_assoc>
<item key="limit">20</item>
<item key="exp_from">2009-12-03</item>
<item key="exp_to">2009-12-25</item>
<item key="page">1</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
193

</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">DOMAIN</item>
<item key="is_success">1</item>
<item key="response_text">Command successful</item>
<item key="response_code">200</item>
<item key="attributes">
<dt_assoc>
<item key="page">1</item>
<item key="total">2</item>
<item key="remainder">0</item>
<item key="exp_domains">
<dt_array>
<item key="0">
<dt_assoc>
<item key="f_let_expire">N</item>
<item key="name">katarina.biz</item>
<item key="expiredate">2009-12-18
23:59:59</item>
<item key="f_auto_renew">N</item>
</dt_assoc>
</item>
<item key="1">
<dt_assoc>
194

<item key="name">kristina.ch</item>
<item key="expiredate">2009-12-18
23:59:59</item>
<item key="f_let_expire">N</item>
<item key="f_auto_renew">N</item>
</dt_assoc>
</item>
</dt_array>
</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

195

get_notes
Description
Action & object
action = get_notes
object = domain

Usage
Retrieves the domain notes that detail the history of the domain, for
example, renewals and transfers.

Request parameters for get_notes


Standard parameters
action = get_notes
object = domain
attributes

Attributes
Parameters within the attributes associative array are described below.
Parameter
name

Obligation

Definition/Value

domain

Required

The domain to query.

limit

Optional

Maximum number of notes to display on a page;


the default is 40.

order_id

Optional

The ID number of the order.

page

Optional

Determines which page to retrieve, using the page


number. The page index starts at 1.

transfer_id

Optional

The ID number of the transfer.

type

Required

Type of notes to display. Allowed values are


domain, order, and transfer.

196

Response parameters for get_notes


Standard parameters
action = reply
object = domain
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

notes

Returned if
The contents of the note.
is_success =
timestampDate and time the note was
true
recorded, in the format DD-MMM-YYYY
hh:mm:ss.

noteContents of the note

Page retrieved, using the page number. The page


index starts at 1

page

Optional

page_size

Returned if
The maximum number of notes returned per page.
is_success =
true

total

Returned if
Total number of notes returned.
is_success =
true

Examples for get_notes


Request
<?xml version='1.0' encoding='UTF-8' standalone='no' ?>
<!DOCTYPE OPS_envelope SYSTEM 'ops.dtd'>
<OPS_envelope>
<header>
<version>0.9</version>
197

</header>
<body>
<data_block>
<dt_assoc>
<item key="protocol">XCP</item>
<item key="action">get_notes</item>
<item key="object">domain</item>
<item key="attributes">
<dt_assoc>
<item key="domain">example.com</item>
<item key="page">1</item>
<item key="order_id">123456</item>
<item key="type">order</item>
<item key="limit">100</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">DOMAIN</item>
<item key="is_success">1</item>
198

<item key="response_text">Command successful</item>


<item key="response_code">200</item>
<item key="attributes">
<dt_assoc>
<item key="page_size">100</item>
<item key="page">1</item>
<item key="total">1</item>
<item key="notes">
<dt_array>
<item key="0">
<dt_assoc>
<item key="timestamp">15-OCT-2007
16:23:04</item>
<item key="note">Domain taken</item>
</dt_assoc>
</item>
</dt_array>
</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

199

get_order_info
Description
Action & object
action = get_order_info
object = domain or trust_service

Usage
Queries all the information on an order ID, but does not return sensitive
information such as username, password, and Authcode.

Request parameters for get_order_info


Standard parameters
action = get_order_info
object = domain or trust_service
attributes

Attributes
Parameters within the attributes associative array are described below.
Parameter name

Obligation

Definition/Value

order_id

Required

The ID of the order to query.

Response parameters for get_order_info


Standard parameters
action = reply
object = domain or trust_service
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

200

Domain attributes
If the request is successful, the attributes associative array may include the
following:
Parameter name Obligation
field_hash

Definition/Value

Always returned A list (array) of the details of the domain


for domain orders order ID. For more information, see the
if is_success = Field Hash table below.
true

Field Hash
Parameter name

Obligation

Definition/Value

affiliate_id

Returned if
The associated affiliate ID.
is_success = true
and reg_type =
new, transfer,
premium, or sunrise

application_id

Returned if
is_success = true
and the order's
reg_type = sunrise
or landrush and the
order is for a .XXX
domain

application_status

The status of the application. Allowed


Returned if
values are:
is_success = true
and the order's
processedWaiting for
reg_type = sunrise
notification from registry.
and the order is for
completedDomain awarded
a .XXX domain
and manageable.

The domainid number. The domainid is


required for .XXX Sunrise AD
applications to prove that the person
requesting the .XXX domain owns the
corresponding name in another gTLD or
ccTLD.

declinedDomain
unsuccessful.

registration

not_availableThis status is
always returned for Sunrise B
applications.

waitingDomain awarded but


not yet manageable.

comments

Optional

Comments submitted in the original


transaction.

completed_date

Returned when
reg_type =
transfer

Date when the transfer was


completed.
201

Parameter name

Obligation

Definition/Value

cost

Returned if
is_success = true

Transaction cost to Reseller.

domain

Returned if
is_success = true

The domain being queried.

encoding type

Returned if
is_success = true
and reg_type =
new, transfer,
premium, or sunrise

The three-character tag that represents


the language encoding type for the
domain. See "AppendixB: Encoding
Typesfor IDNs".

expiry_year

Returned if
is_success = true
and reg_type =
transfer

Domain's current expiry year.

f_auto_renew

Returned if
is_success = true

Flag (Y or N) indicating whether


domain is set to automatically renew.

f_lock_domain

Returned if
Indicates whether the domain is locked.
is_success = true
0Domain is not locked
and reg_type =
1Domain is locked
new, transfer,
premium, or sunrise

flag_saved_ns_
fields

Returned if
is_success = true
and reg_type =
new, transfer,
premium, or sunrise

Indicates whether the nameserver


fields that were used were those
submitted in the transaction request or
the default nameserver information.

flag_saved_tech_
fields

Returned if
is_success = true
and reg_type =
new, transfer,
premium, or sunrise

Indicates whether the technical contact


fields that were used were those
submitted in the transaction request or
the default Reseller account technical
contact information.

forwarding_email

Returned if
The domain's e-mail address that is
is_success = true
used for forwarding purposes.
and reg_type =
new, transfer,
premium, or sunrise

fqdn1/2/3/4

Returned if
Nameservers submitted with the
is_success = true
registration.
and reg_type =
new, transfer,
premium, or sunrise

id

Returned if
is_success = true

The ID number of the order.

202

Parameter name

Obligation

master_order_id

Returned if
The order ID for a group of domains
is_success = true
that are linked.
and reg_type =
new, transfer,
premium, or sunrise

notes

Returned if
is_success = true

order_date

Returned if
is_success = true

owner, admin, billing, Returned if


is_success = true
and tech contact
and reg_type =
information
new, transfer,
premium, or sunrise

Definition/Value

The contents of the note.

timestampDate and time the


note was recorded, in the format
DD-MMM-YYYY hh:mm:ss.

noteContents of the note

Date the order was created.


The current contact information for
owner, admin, billing, and tech
contacts. May include org_name,
first_name, last_name, address1, 2,
and 3, city, state, postal_code, country,
phone, fax, and email.

owner_confirm_
time

Returned if
is_success = true
and reg_type =
transfer

Date when the owner responded to the


transfer request

owner_request_
time

Returned if
is_success = true
and reg_type =
transfer

Date when the email to confirm that


transfer was sent.

period

Returned if
is_success = true

The length of the registration period in


years.

processed_date

Returned if
is_success = true.
Empty for new
domain registration.

Date the order was processed.

reg_domain

Returned if
is_success = true
and reg_type =
new, transfer,
premium, or sunrise

An existing, active domain name in


OpenSRS, owned by the registrant that
was used to link the newly registered or
transferred domain to the profile of the
existing domain.

reg_type

Returned if
is_success = true

Type of order, for example, new,


premium, renewal, sunrise,
transfer, or whois_privacy.

registry_request_
time

Returned if
is_success = true
and reg_type =
transfer

The time when the transfer request was


sent to the registry.

request_address

Returned if

Address to which the transfer approval


203

Parameter name

Obligation

Definition/Value

is_success = true
and reg_type =
transfer

email was sent.

status

Returned if
is_success = true

Current status of the order. Values may


be declined, pending, deleted,
completed, cancelled, or
waiting_ca_owner_approval.

tld_data

An associative array containing


Returned for .ASIA,
registrant information.
.AR, .AU, .BR, .CL,
.COOP, .DE, .DK,
For more information, see tld_data.
.FI, .FR, .HK, .HU, .IT,
.LV, .MX, .MY, .NO,
.NU, .PM, .PRO,
.PT, .RE, .RO, .RU,
.SE, .SG, .TF, .US,
.WF, .XXX. .YT, and
.ZA domains if
is_success = true

transfer_notes

Returned if
is_success = true
and reg_type =
transfer

The contents of the note related to


transfers.

the note was recorded, in the


format DD-MMM-YYYY
hh:mm:ss.

transfer_status

Returned if
is_success = true
and reg_type =
transfer

timestampDate and time

noteContents of the note

Current status of the transfer. Pending


Owner Approval

Trust Service order attributes


Parameters within the attributes associative array for Trust Service orders
are described below.
Parameter name

Obligation

Definition/Value

approver_email

Returned for
domain vetted
certificates if
is_success =
true.

One of the approver emails.

contact_email

Returned if
The email contact from the order.
is_success = true
204

Parameter name

Obligation

Definition/Value

contact_set

The current contact information for


Returned if
is_success = true organization, admin, billing, and tech
contacts.

csr

Optional

The Certificate Signing Request for the


certificate.

domain

Optional

The full domain name for which the SSL


Certificate was purchased.

notes_list

Returned if
Event logging for the Trust Service order.
is_success = true For more information, see the Notes_list
table below.

order_id

Returned if
The ID of the Trust Service order.
is_success = true

period

Returned if
The number of years of the registration
is_success = true period. Allowed values are 1 4,
depending on the Trust Service.
comodo_evto 2
comodo_instantssl1 to 4
comodo_premiumssl1 to 4
comodo_premiumssl_wildcard1
to 4
comodo_ssl1 to 4
comodo_wildcard1 to 4
malwarescan1
quickssl1 to 4
quickssl_premium1 to 4
sgcsuper_certs1 to 4
sitelock_basic1
sitelock_premium1
sitelock_enterprise1
ssl1231 to 4
sslwebserver1 to 4
sslwebserver_wildcard1 to 2
sslwebserver_ev1 to 2
securesite1 to 4
securesite_ev1 to 2
securesite_pro1 to 4
securesite_pro_ev1 to 2
truebizid1 to 4
truebizid_wildcard1 to 4

205

Parameter name

Obligation

Definition/Value

truebizid_ev1 to 2
truste_hpp1 to 3
truste_tps1 to 3
trustwave_dv1 to 3
trustwave_ev1 to 2
trustwave_premiumssl1 to 3
trustwave_premiumssl_wildcard
1 to 3

price

Returned if
The price charged for the Trust Service.
is_success = true

product_id

Returned if
The ID number of the Trust Service
is_success = true product.
and order is
completed.

product_type

Returned if
The product type from the SSL Certificate
is_success = true inventory. The product types are detailed
in the allowed values section for this key.
Allowed values are:
comodo_ev
comodo_instantssl
comodo_premiumssl
comodo_premiumssl_wildcard
comodo_ssl
comodo_wildcard
malwarescan
quickssl
quickssl_premium
securesite
securesite_pro
securesite_ev
securesite_pro_ev
sgcsuper_certs
sitelock_basic
sitelock_premium
sitelock_enterprise
ssl123
sslwebserver
sslwebserver_wildcard
sslwebserver_ev

206

Parameter name

Obligation

Definition/Value

truebizid
truebizid_wildcard
truebizid_ev
truste_hpp (Hosted Privacy Policy)
truste_tps (TRUSTE Privacy Policy
with seal)
trustwave_dv
trustwave_ev
trustwave_premiumssl
trustwave_premiumssl_
wildcard

reg_type

Type of order, for example, new,


Returned if
is_success = true renewal, transfer, upgrade.

server_type

Optional

The type of server software used to


generate the CSR.
Allowed values are:

Symantec,
thawte, and
GeoTrust

apache2
apacheapach
essl
apacheopens
sl
apacheraven
apachessl
c2net
cobaltseries
cobaltraq3
cobaltraq2
cpanel
domino
dominogo46
26
dominogo46
25
ensim
hsphere

Comodo

apachessl
citrix
domino
ensim
hsphere
iis4
iis6
iis7
iplanet
javawebser
er
netscape
v
ibmhttp
novell
oracle
other
plesk
redhat
sap

207

Parameter name

Obligation

Definition/Value
Symantec,
thawte, and
GeoTrust

iis
iis4
iis5
iplane
ipswitch
netscape
ibmhttp
other
plesk
tomcat
weblogic
website
webstar
webstar4
zeusv3

Comodo

tomcat
webstar
whmcpanel

Note: Trustwave does not support server


types.
special_instructions

Optional

User defined instructions regarding the


Trust Service certificate purchase.

state

Returned if
The state of the order
is_success = true Allowed values are:
approver-confirmedOwner has
confirmed the domain vetted
certificate.
awaiting-approvalOrder
processed successfully; waiting for
supplier approval.
cancelledPending order was
cancelled.
completedOrder is complete.
declinedOrder cancelled after it
was processed or declined by the
supplier.
in-progressOrder is in progress.
pendingOrder saved as

pending.

208

Parameter name

Obligation

Definition/Value

supplier_order_id

Returned if
The ID number for the vendor.
is_success = true

Notes_list
Parameters within the notes_list associative array are described below.
Parameter
name

Obligation

Definition/Value

date

Optional

The date that the note was created.

note

Optional

The text of the note.

type

Optional

The type of note. Allowed values are:


order_created, order_processed,
order_cancelled, order_completed,
order_resend_approve_email, money_held,
money_unheld, money_charged,
money_refunded, supplier_order_cancelled,
supplier_appr_confirmed,
supplier_appr_rejected,
supplier_product_created,
supplier_product_rejected, product_renewed,
product_active, product_renewing,
product_revoked, product_expired,
product_updated, product_scan_requested,
product_resend_cert_email.

209

Examples for get_order_info


Example 1
For a .COM domain order

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">get_order_info</item>
<item key="object">domain</item>
<item key="attributes">
<dt_assoc>
<item key="order_id">3515690</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>
210

</header>
<body>
<data_block>
<dt_assoc>
<item key="protocol">XCP</item>
<item key="action">REPLY</item>
<item key="object">DOMAIN</item>
<item key="is_success">1</item>
<item key="response_code">200</item>
<item key="response_text">Command completed
successfully</item>
<item key="attributes">
<dt_assoc>
<item key="field_hash">
<dt_assoc>
<item key="owner_first_name">Owen</item>
<item key="owner_last_name">Ottway</item>
<item key="owner_org_name">Example Inc.</item>
<item key="owner_address1">32 Oak St.</item>
<item key="owner_address2">Suite 500</item>
<item key="owner_address3"/>
<item key="owner_city">Santa Clara</item>
<item key="owner_state">CA</item>
<item key="owner_country">US</item>
<item key="owner_postal_code">90210</item>
<item
key="owner_phone">+1.4165550123x1902</item>
<item key="owner_fax">+1.4165550124</item>
<item key="owner_email">owner@example.com</item>
<item key="admin_first_name">Adler</item>
<item key="admin_last_name">Adams</item>
<item key="admin_org_name">Example Inc.</item>
<item key="admin_address1">32 Oak St.</item>
<item key="admin_address2">Suite 100</item>
<item key="admin_address3"/>
<item key="admin_city">Santa Clara</item>
211

<item key="admin_state">CA</item>
<item key="admin_country">US</item>
<item key="admin_postal_code">90210</item>
<item
key="admin_phone">+1.4165550123x1812</item>
<item key="admin_fax"/>
<item key="admin_email">admin@example.com</item>
<item key="billing_first_name">Bill</item>
<item key="billing_last_name">Burton</item>
<item key="billing_org_name">Example Inc.</item>
<item key="billing_address1">32 Oak St.</item>
<item key="billing_address2">Suite 200</item>
<item key="billing_address3"/>
<item key="billing_city">Santa Clara</item>
<item key="billing_state">CA</item>
<item key="billing_country">US</item>
<item key="billing_postal_code">90210</item>
<item
key="billing_phone">+1.4165550123x1248</item>
<item key="billing_fax"/>
<item
key="billing_email">burton@example.com</item>
<item key="tech_first_name">Ted</item>
<item key="tech_last_name">Tucker</item>
<item key="tech_org_name">Example Inc.</item>
<item key="tech_address1">32 Oak St.</item>
<item key="tech_address2">Suite 100</item>
<item key="tech_address3"/>
<item key="tech_city">Santa Clara</item>
<item key="tech_state">CA</item>
<item key="tech_country">US</item>
<item key="tech_postal_code">90210</item>
<item key="tech_phone">+1.4165550123x1243</item>
<item key="tech_fax">+1.4165550127</item>
<item key="tech_email">tucker@example.com</item>
<item key="comments"/>
212

<item key="reg_domain">december-22002.com</item>
<item key="domain">example.com</item>
<item key="transfer_notes">
<dt_array>
<item key="0">
<dt_assoc>
<item key="timestamp">05-OCT-2007
17:07:42</item>
<item key="note">Transfer Request
message sent to owner@example.com</item>
</dt_assoc>
</item>
</dt_array>
</item>
<item key="affiliate_id"/>
<item key="order_date">1083590189</item>
<item key="status">completed</item>
<item key="f_lock_domain">0</item>
<item key="forwarding_email"/>
<item key="flag_saved_ns_fields">1</item>
<item key="processed_date"/>
<item key="id">3515690</item>
<item key="encoding_type">undef</item>
<item key="flag_saved_tech_fields">1</item>
<item key="completed_date">1083590192</item>
<item key="f_auto_renew">Y</item>
<item key="fqdn1">ns1.systemdns.com</item>
<item key="fqdn2">ns2.systemdns.com</item>
<item key="fqdn3"/>
<item key="fqdn4"/>
<item key="fqdn5"/>
<item key="fqdn6"/>
<item key="reg_type">new</item>
<item key="notes">
<dt_array>
213

<item key="0">
<dt_assoc>
<item key="note">RSP Note: testing
first note</item>
<item key="timestamp">27-OCT-2007
11:15:03</item>
</dt_assoc>
</item>
<item key="1">
<dt_assoc>
<item key="note">RSP Note: testing
second note</item>
<item key="timestamp">27-OCT-2007
11:15:05</item>
</dt_assoc>
</item>
<item key="2">
<dt_assoc>
<item key="note">RSP Note: testing
third note</item>
<item key="timestamp">27-OCT-2007
11:15:07</item>
</dt_assoc>
</item>
</dt_array>
</item>
<item key="master_order_id">0</item>
<item key="period">1</item>
<item key="cost">15</item>
</dt_assoc>
</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>
214

Example 2
For a .DK domain order

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='action'>get_order_info</item>
<item key='object'>domain</item>
<item key='attributes'>
<dt_assoc>
<item key='order_id'>607642</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>
215

<item key='object'>DOMAIN</item>
<item key='is_success'>1</item>
<item key='response_text'>Command completed successfully</item>
<item key='attributes'>
<dt_assoc>
<item key='field_hash'>
<dt_assoc>
<item key='owner_last_name'>Jensen</item>
<item key='owner_org_name'>Example Co.</item>
<item key='owner_address2'/>
<item key='owner_address3'/>
<item key='owner_city'>Copenhagen V</item>
<item key='owner_state'/>
<item key='owner_postal_code'>1610</item>
<item key='owner_phone'>+1.33257400</item>
<item key='owner_fax'>+1.33257410</item>
<item key='owner_email'>djensen@example.dk</item>
<item key='admin_org_name'>Example Co.</item>
<item key='admin_first_name'>Katrin</item>
<item key='admin_last_name'>Jensen</item>
<item key='admin_address1'>Gammel Kongevej 1</item>
<item key='admin_address2'/>
<item key='admin_address3'/>
<item key='admin_city'>Copenhagen V</item>
<item key='admin_state'/>
<item key='admin_country'>DK</item>
<item key='admin_postal_code'>1610</item>
<item key='admin_phone'>+1.33257400</item>
<item key='admin_fax'>+1.33257410</item>
<item key='admin_email'>kjensen@example.dk</item>
<item key='billing_org_name'>Example Co.</item>
<item key='billing_first_name'>Sarah</item>
<item key='billing_last_name'>Jensen</item>
<item key='billing_address1'>Gammel Kongevej 1</item>
<item key='billing_address2'/>
216

<item key='billing_address3'/>
<item key='billing_city'>Copenhagen V</item>
<item key='billing_state'/>
<item key='billing_postal_code'>1610</item>
<item key='billing_country'>DK</item>
<item key='billing_phone'>+1.33257400</item>
<item key='billing_fax'>+1.33257410</item>
<item key='billing_email'>sjensen@example.dk</item>
<item key='tech_org_name'>Example Co.</item>
<item key='tech_first_name'>Eric</item>
<item key='tech_last_name'>Jensen</item>
<item key='tech_address1'>Gammel Kongevej 1</item>
<item key='tech_address2'/>
<item key='tech_address3'/>
<item key='tech_city'>Copenhagen V</item>
<item key='tech_state'/>
<item key='tech_postal_code'>1610</item>
<item key='tech_country'>DK</item>
<item key='tech_phone'>+1.33257400</item>
<item key='tech_fax'>+1.33257410</item>
<item key='tech_email'>ejensen@example.dk</item>
<item key='affiliate_id'>affiliatetest1</item>
<item key='domain'>qatest1380643516039.dk</item>
<item key='tld_data'>
<dt_assoc>
<item key='registrant_extra_info'>
<dt_assoc>
<item key='registrant_type'>organization</item>
<item key='registrant_vat_id'>123456789</item>
</dt_assoc>
</item>
</dt_assoc>
</item>
<item key='flag_saved_tech_fields'>1</item>
<item key='completed_date'>1380643717</item>
217

<item key='notes'>
<dt_array>
</dt_array>
</item>
<item key='reg_domain'/>
<item key='comments'/>
<item key='id'>607642</item>
<item key='cost'>15</item>
<item key='flag_saved_ns_fields'>1</item>
<item key='master_order_id'>0</item>
<item key='order_date'>1380643519</item>
<item key='f_auto_renew'>Y</item>
<item key='forwarding_email'/>
<item key='status'>completed</item>
<item key='fqdn1'>ns1.systemdns.com</item>
<item key='fqdn2'>ns2.systemdns.com</item>
<item key='fqdn3'/>
<item key='fqdn4'/>
<item key='fqdn5'/>
<item key='fqdn6'/>
<item key='reg_type'>new</item>
<item key='f_lock_domain'>0</item>
<item key='period'>1</item>
<item key='encoding_type'/>
<item key='processed_date'/>
</dt_assoc>
</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

218

Example 3
For a .FR domain order

Request
<?xml version='1.0' encoding='UTF-8'?>
<OPS_envelope>
<header>
<version>0.9</version>
</header>
<body>
<data_block>
<dt_assoc>
<item key='protocol'>XCP</item>
<item key='action'>get_order_info</item>
<item key='object'>domain</item>
<item key='attributes'>
<dt_assoc>
<item key='order_id'>457700</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>
219

<item key='protocol'>XCP</item>
<item key='action'>REPLY</item>
<item key='object'>DOMAIN</item>
<item key='response_code'>200</item>
<item key='is_success'>1</item>
<item key='response_text'>Command completed successfully</item>
<item key='attributes'>
<dt_assoc>
<item key='field_hash'>
<dt_assoc>
<item key='domain'>example.fr</item>
<item key='owner_org_name'>Example GmbH</item>
<item key='owner_first_name'>Astrid</item>
<item key='owner_last_name'>Bauer</item>
<item key='owner_address1'>Klostergasse 10</item>
<item key='owner_address2'/>
<item key='owner_address3'/>
<item key='owner_city'>Innsbruck</item>
<item key='owner_state'>Tirol</item>
<item key='owner_postal_code'>6020</item>
<item key='owner_country'>AT</item>
<item key='owner_phone'>+43 512 5333 10</item>
<item key='owner_fax'>+43 512 5333 11</item>
<item key='owner_email'>astrid@example.com</item>
<item key='admin_first_name'>Franz</item>
<item key='admin_last_name'>Bauer</item>
<item key='admin_org_name'>Example GmbH</item>
<item key='admin_address1'>Klostergasse 10</item>
<item key='admin_address2'/>
<item key='admin_address3'/>
<item key='admin_city'>Innsbruck</item>
<item key='admin_state'>Tirol</item>
<item key='admin_postal_code'>6020</item>
<item key='admin_country'>AT</item>
<item key='admin_phone'>+1.4165350125</item>
220

<item key='admin_fax'>+1.4165350124</item>
<item key='admin_email'>franz@example.com</item>
<item key='billing_first_name'/>
<item key='billing_last_name'/>
<item key='billing_org_name'/>
<item key='billing_address1'/>
<item key='billing_address2'/>
<item key='billing_address3'/>
<item key='billing_city'/>
<item key='billing_state'/>
<item key='billing_postal_code'/>
<item key='billing_country'/>
<item key='billing_phone'/>
<item key='billing_fax'/>
<item key='billing_email'/>
<item key='tech_first_name'>Jorg</item>
<item key='tech_last_name'>Bauer</item>
<item key='tech_org_name'>Example GmbH</item>
<item key='tech_address1'>Klostergasse 10</item>
<item key='tech_address2'/>
<item key='tech_address3'/>
<item key='tech_city'>Innsbruck</item>
<item key='tech_state'>Tirol</item>
<item key='tech_country'>AT</item>
<item key='tech_postal_code'>6020</item>
<item key='tech_phone'>+1.4165350125</item>
<item key='tech_fax'>+1.4165350124</item>
<item key='tech_email'>jorg@example.com</item>
<item key='processed_date'/>
<item key='fqdn1'>ns1.systemdns.com</item>
<item key='fqdn2'>ns2.systemdns.com</item>
<item key='fqdn3'/>
<item key='fqdn4'/>
<item key='fqdn5'/>
<item key='fqdn6'/>
221

<item key='period'>1</item>
<item key='encoding_type'/>
<item key='affiliate_id'/>
<item key='tld_data'>
<dt_assoc>
<item key='registrant_extra_info'>
<dt_assoc>
<item key='registrant_type'>individual</item>
<item key='date_of_birth'>1989-03-03</item>
<item key='country_of_birth'>FR</item>
<item key='postal_code_of_birth'>75008</item>
<item key='place_of_birth'>Paris</item>
</dt_assoc>
</item>
</dt_assoc>
</item>
<item key='flag_saved_tech_fields'>1</item>
<item key='completed_date'>1329504888</item>
<item key='notes'>
<dt_array>
</dt_array>
</item>
<item key='reg_domain'/>
<item key='comments'/>
<item key='id'>457700</item>
<item key='cost'>15</item>
<item key='flag_saved_ns_fields'>1</item>
<item key='master_order_id'>0</item>
<item key='order_date'>1329504872</item>
<item key='f_auto_renew'>Y</item>
<item key='forwarding_email'/>
<item key='status'>completed</item>
<item key='reg_type'>new</item>
<item key='f_lock_domain'>0</item>
</dt_assoc>
222

</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

Example 4
For a .RE domain order

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">get_order_info</item>
<item key="object">domain</item>
<item key="attributes">
<dt_assoc>
<item key="order_id">16732959</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

223

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'>DOMAIN</item>
<item key='response_code'>200</item>
<item key='is_success'>1</item>
<item key='response_text'>Command completed successfully</item>
<item key='attributes'>
<dt_assoc>
<item key='field_hash'>
<dt_assoc>
<item key='owner_first_name'>Henrie</item>
<item key='owner_last_name'>LaFleur</item>
<item key='owner_org_name'>French Impressions</item>
<item key='owner_address1'>13 Rue Daze</item>
<item key='owner_address2'/>
<item key='owner_address3'/>
<item key='owner_city'>Paris</item>
<item key='owner_state'/>
<item key='owner_postal_code'>75002</item>
<item key='owner_country'>FR</item>
<item key='owner_phone'>+1.3365551212</item>
<item key='owner_fax'>>+1.3365550124</item>
<item key='owner_email'>lafleur@example.com</item>
<item key='admin_first_name'>Marie</item>
<item key='admin_last_name'>LaFleur</item>
224

<item key='admin_org_name'>French Impressions</item>


<item key='admin_address1'>13 Rue Daze</item>
<item key='admin_address2'/>A
<item key='admin_address3'/>
<item key='admin_city'>Paris</item>
<item key='admin_state'/>
<item key='admin_postal_code'>75002</item>
<item key='admin_country'>FR</item>
<item key='admin_email'>marie@example.com</item>
<item key='admin_phone'>>+1.3365551213</item>
<item key='admin_fax'>>+1.3365550125</item>
<item key='billing_first_name'/>
<item key='billing_last_name'/>
<item key='billing_org_name'/>
<item key='billing_address1'/>
<item key='billing_address2'/>
<item key='billing_address3'/>
<item key='billing_city'/>
<item key='billing_state'/>
<item key='billing_postal_code'/>
<item key='billing_country'/>
<item key='billing_phone'/>
<item key='billing_fax'/>
<item key='billing_email'/>
<item key='tech_first_name'>Pierre</item>
<item key='tech_last_name'>Richard</item>
<item key='tech_org_name'>French Impressions</item>
<item key='tech_address1'>13 Rue Daze</item>
<item key='tech_address2'/>
<item key='tech_address3'/>
<item key='tech_city'>Paris</item>
<item key='tech_state'/>
<item key='tech_postal_code'>75002</item>
<item key='tech_country'>FR</item>
<item key='tech_phone'>+1.3365551215</item>
225

<item key='tech_fax'>+1.3365550125</item>
<item key='tech_email'>pierre@example.com</item>
<item key='processed_date'/>
<item key='period'>1</item>
<item key='encoding_type'/>
<item key='affiliate_id'/>
<item key='domain'>example.re</item>
<item key='tld_data'>
<dt_assoc>
<item key='registrant_extra_info'>
<dt_assoc>
<item key='registrant_type'>individual</item>
<item key='date_of_birth'>1976-08-05</item>
<item key='country_of_birth'>FR</item>
<item key='postal_code_of_birth'>33023</item>
<item key='place_of_birth'>Bordeaux</item>
<item key='province_of_birth'>Gironde</item>
</dt_assoc>
</item>
</dt_assoc>
</item>
<item key='flag_saved_tech_fields'>1</item>
<item key='completed_date'>1341517755</item>
<item key='notes'>
<dt_array>
</dt_array>
</item>
<item key='reg_domain'/>
<item key='fqdn1'>ns1.systemdns.com</item>
<item key='fqdn2'>ns2.systemdns.com</item>
<item key='fqdn3'>ns3.systemdns.com</item>
<item key='fqdn4'/>
<item key='fqdn5'/>
<item key='fqdn6'/>
<item key='comments'/>
226

<item key='id'>485395</item>
<item key='cost'>50</item>
<item key='flag_saved_ns_fields'>1</item>
<item key='master_order_id'>0</item>
<item key='order_date'>1341517725</item>
<item key='f_auto_renew'>Y</item>
<item key='forwarding_email'/>
<item key='status'>completed</item>
<item key='reg_type'>new</item>
<item key='f_lock_domain'>1</item>
</dt_assoc>
</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

Example 5
For a .XXX order

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">get_order_info</item>
<item key="object">domain</item>
227

<item key="attributes">
<dt_assoc>
<item key="order_id">457626</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'>DOMAIN</item>
<item key='response_code'>200</item>
<item key='is_success'>1</item>
<item key='response_text'>Command completed successfully</item>
<item key='attributes'>
<dt_assoc>
<item key='field_hash'>
<dt_assoc>
<item key='owner_org_name'>Example Inc.</item>
<item key='owner_first_name'>Owen</item>
<item key='owner_last_name'>Ottway</item>
<item key='owner_address1'>32 Oak St.</item>
<item key='owner_address2'>Suite 500</item>
228

<item key='owner_address3'/>
<item key='owner_city'>Santa Clara</item>
<item key='owner_state'>CA</item>
<item key='owner_postal_code'>90210</item>
<item key='owner_country'>US</item>
<item key='owner_email'>owner@example.com</item>
<item key='owner_phone'>+1.4165550123x1902</item>
<item key='owner_fax'>+1.4165350124</item>
<item key='admin_org_name'>Example Inc.</item>
<item key='admin_first_name'>Adler</item>
<item key='admin_last_name'>Adams</item>
<item key='admin_address1'>32 Oak St.</item>
<item key='admin_address2'>Suite 100</item>
<item key='admin_address3'/>
<item key='admin_city'>Santa Clara</item>
<item key='admin_state'>CA</item>
<item key='admin_postal_code'>90210</item>
<item key='admin_country'>US</item>
<item key='admin_phone'>+1.4165550123x1812</item>
<item key='admin_fax'>+1.4165350124</item>
<item key='admin_email'>admin@example.com</item>
<item key='billing_first_name'>Bill</item>
<item key='billing_last_name'>Burton</item>
<item key='billing_org_name'>Example Inc.</item>
<item key='billing_address1'>32 Oak St.</item>
<item key='billing_address2'>Suite 200</item>
<item key='billing_address3'/>
<item key='billing_city'>Santa Clara</item>
<item key='billing_state'>CA</item>
<item key='billing_country'>US</item>
<item key='billing_postal_code'>90210</item>
<item key='billing_email'>burton@example.com</item>
<item key='billing_phone'>+1.4165550123x1248</item>
<item key='billing_fax'>+1.4165350124</item>
<item key='tech_first_name'>Ted</item>
229

<item key='tech_last_name'>Tech Lastname</item>


<item key='tech_org_name'>Tucker</item>
<item key='tech_address1'>32 Oak St.</item>
<item key='tech_address2'>Suite 100</item>
<item key='tech_address3'/>
<item key='tech_city'>Santa Clara</item>
<item key='tech_state'>CA</item>
<item key='tech_postal_code'>90210</item>
<item key='tech_email'>tucker@example.com</item>
<item key='tech_phone'>+1.4165550123x1243</item>
<item key='tech_fax'>+1.4165350124</item>
<item key='processed_date'/>
<item key='fqdn2'>ns2.systemdns.com</item>
<item key='period'>1</item>
<item key='application_id'>D10215-XXX</item>
<item key='ipr_entitlement'>OWNER</item>
<item key='affiliate_id'/>
<item key='fqdn4'/>
<item key='ipr_type'>AD</item>
<item key='domain'>example.xxx</item>
<item key='flag_saved_tech_fields'>1</item>
<item key='completed_date'/>
<item key='tld_data'>
<dt_assoc>
<item key='ipr_data'>
<dt_assoc>
<item key='ipr_name'>Owen Ottway</item>
<item key='ipr_email'>ottway@example.com</item>
</dt_assoc>
</item>
</dt_assoc>
</item>
<item key='notes'>
<dt_array>
<item key='0'>
230

<dt_assoc>
<item key='timestamp'>15-FEB-2012
18:08:50</item>
<item key='note'>Domain lock enabled</item>
</dt_assoc>
</item>
</dt_array>
</item>
<item key='reg_domain'/>
<item key='fqdn3'/>
<item key='fqdn5'/>
<item key='comments'/>
<item key='id'>315169</item>
<item key='ipr_registration_date'>2011-01-01</item>
<item key='cost'>85</item>
<item key='flag_saved_ns_fields'>1</item>
<item key='application_status'>processed</item>
<item key='master_order_id'>0</item>
<item key='order_date'>1314713193</item>
<item key='f_auto_renew'>Y</item>
<item key='forwarding_email'/>
<item key='status'>completed</item>
<item key='fqdn6'/>
<item key='reg_type'>sunrise</item>
<item key='fqdn1'>ns1.systemdns.com</item>
<item key='tech_country'>CA</item>
<item key='f_lock_domain'>1</item>
</dt_assoc>
</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

231

Example 6
For a Trust Service order

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'>get_order_info</item>
<item key='object'>trust_service</item>
<item key='attributes'>
<dt_assoc>
<item key='order_id'>780</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>
232

<item key='action'>REPLY</item>
<item key='object'>TRUST_SERVICE</item>
<item key='response_code'>200</item>
<item key='response_text'>Command completed
successfully.</item>
<item key='is_success'>1</item>
<item key='attributes'>
<dt_assoc>
<item key='special_instructions'>Test ABC</item>
<item key='period'>1</item>
<item key='notes_list'>
<dt_array>
<item key='0'>
<dt_assoc>
<item key='date'>2010-09-20T15:02:43.00004:00</item>
<item key='type'>order_processed</item>
<item key='note'>Order id [780] has been
processed, supplierOrderId is [141777].</item>
</dt_assoc>
</item>
<item key='1'>
<dt_assoc>
<item key='date'>2010-09-20T15:02:43.00004:00</item>
<item key='type'>order_created</item>
<item key='note'>Order id [780] has been
created.</item>
</dt_assoc>
</item>
<item key='2'>
<dt_assoc>
<item key='date'>2010-09-20T15:02:43.00004:00</item>
<item key='type'>money_held</item>
<item key='note'>Money has been held for order id
[780].</item>
</dt_assoc>
</item>
<item key='3'>
233

<dt_assoc>
<item key='date'>2010-09-20T15:26:20.00004:00</item>
<item key='type'>supplier_product_created</item>
<item key='note'>The supplier product has been
created for order id [780].</item>
</dt_assoc>
</item>
<item key='4'>
<dt_assoc>
<item key='date'>2010-09-20T15:26:20.00004:00</item>
<item key='type'>money_charged</item>
<item key='note'>The money has been charged for
order id [780].</item>
</dt_assoc>
</item>
<item key='5'>
<dt_assoc>
<item key='date'>2010-09-20T15:26:21.00004:00</item>
<item key='type'>order_completed</item>
<item key='note'>The order with the id [780] has
been completed and product has been created with product id
[194].</item>
</dt_assoc>
</item>
</dt_array>
</item>
<item key='order_id'>780</item>
<item key='state'>completed</item>
<item key='product_type'>truebizid</item>
<item key='domain'>truebiz.example.com</item>
<item key='product_id'>194</item>
<item key='contact_email'>qafive@example.com</item>
<item key='contact_set'>
<dt_assoc>
<item key='admin'>
<dt_assoc>
<item key='first_name'>Adler</item>
234

<item key='last_name'>Adams</item>
<item key='title'>Director</item>
<item key='address1'>32 Oak Street</item>
<item key='address2'>Suite 100</item>
<item key='address3'/>
<item key='city'>Santa Clara</item>
<item key='state'>CA</item>
<item key='country'>US</item>
<item key='postal_code'>90210</item>
<item key='org_name'>Example Inc.</item>
<item key='email'>adams@example.com</item>
<item key='phone'>+1.4165550123x1812</item>
<item key='fax'>+1.4165550125</item>
</dt_assoc>
</item>
<item key='tech'>
<dt_assoc>
<item key='first_name'>Tim</item>
<item key='last_name'>Tucker</item>
<item key='title'>Director</item>
<item key='org_name'>Example Inc.</item>
<item key='address1'>32 Oak Street</item>
<item key='address2'>Suite 100</item>
<item key='address3'/>
<item key='city'>Santa Clara</item>
<item key='state'>CA</item>
<item key='country'>US</item>
<item key='postal_code'>90210</item>
<item key='phone'>+1.4165550123x1243</item>
<item key='fax'>+1.41655501255</item>
<item key='email'>tucker@example.com</item>
</dt_assoc>
</item>
<item key='organization'>
<dt_assoc>
<item key='org_name'>Example Inc.</item>
<item key='duns'>12345</item>
<item key='address1'>32 Oak Street</item>
235

<item key='address2'>Suite 100</item>


<item key='address3'/>
<item key='city'>Santa Clara</item>
<item key='state'>CA</item>
<item key='postal_code'>90210</item>
<item key='country'>US</item>
<item key='phone'>+1.4165550123</item>
<item key='fax'>+1.4165550125</item>
</dt_assoc>
</item>
<item key='billing'>
<dt_assoc>
<item key='first_name'>Bill</item>
<item key='last_name'>Burton</item>
<item key='org_name'>Example Inc.</item>
<item key='title'/>
<item key='address1'>32 Oak Street</item>
<item key='address2'>Suite 100</item>
<item key='address3'/>
<item key='city'>Santa Clara</item>
<item key='state'>CA</item>
<item key='postal_code'>90210</item>
<item key='country'>US</item>
<item key='phone'>+1.4165550123x1248</item>
<item key='fax'>+1.4165550125</item>
<item key='email'>burton@example.com</item>
</dt_assoc>
</item>
</dt_assoc>
</item>
<item key='csr'>-----BEGIN CERTIFICATE REQUEST----MIIC2jCCAcICAQAwgZQxITAfBgNVBAMTGHRydWViaXoucWFyZWdyZXNzaW9uLm9y
ZzELMAkGA1UEBhMCQ0ExCzAJBgNVBAgTAk9OMRAwDgYDVQQHEwdUb3JvbnRvMQ8w
DQYDVQQKEwZUdWNvd3MxEDAOBgNVBAsTB1FBIERlcHQxIDAeBgkqhkiG9w0BCQEW
EXFhZml2ZUB0dWNvd3MuY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
AQEAo+4AzMq3JeXV5KlAD3BBOGdAOuJYBW3Bz1BooLPX4MGefxqzfVcR8KLGg5MS
PLqdiY4Sqc+/tK8qabpHttdbAZ1WBvgYmviMkhRjpSrbVjOca0CmydPCVsXu5nnE
HMEZODrzhpuHHIzrkclBpGAqEhf9v1g4OFt1sInVB0o8NpeT10aFyvX2HbtsJyfZ
236

S4RMsP+XjVWzWZ+8v2bH6gapJ0tzXvTKwXzhUzElvVqpldpzO0FgnJtHmfJ/EOs5
gntzVIxzP12ZKFf0dYYUj0OKWU+aQodlic2oVxETyWKCoX5W7jQgpTV/vAF7nQY8
Y9VtV6SE5yQRYPJutDTk2PouEwIDAQABoAAwDQYJKoZIhvcNAQEEBQADggEBAAUr
DUNxyrYpt3t9r0GCIiIDVyQdJvY4tQUFIEJdxcvRo2TUcrgiWPyntGc1OCtUFE9Z
2JX4BNEmFVN1jUdBzh6/0loAA36iGYWTSB6CPVe5+y+dcgbViWcNV4or7FOslzRH
/Eu0CquMGmGtSdaT/DNIrJvM2iGOtuhFBhFyru61YMoeaQLU12i5XvK7bR4wHrG6
8DwlwUdzBRqiaq32rM/ZF2KmMzfLFKug1Hubt3OBQHSKwXz3CR7hrJSzf1q3lF/w
HD47TC982HXaUuskI+E0LcuR/qprLkvAO6hKT60CP+V/yNwcBu79Zjeg1MsAmH/W
SzFmc1swYutlFBxmyLU= -----END CERTIFICATE REQUEST-----</item>
<item key='reg_type'>new</item>
<item key='price'>99.0</item>
<item key='server_type'>apachessl</item>
<item key='supplier_order_id'>141777</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

237

get_orders_by_domain
Description
Action & object
action = get_orders_by_domain
object = domain

Usage
Retrieves information about orders placed for a specific domain.

Request parameters for get_orders_by_domain


Standard parameters
action = get_orders_by_domain
object = domain
attributes

Attributes
Parameters within the attributes associative array are described below.
Parameter
name

Obligation

Definition/Value

domain

Required

The domain to query.

limit

Optional

Maximum number of orders to display on a page; the


default is 40.

order_from

Optional

Specify a starting date, in the format YYYY-MM-DD


from which to return orders. Can be used with the
order_to parameter to specify a range within which
to search. If not used with order_to, all orders from
the order_from date onward are returned.

order_to

Optional

Specify an end date, in the format YYYY-MM-DD,


before which to return orders. Can be used with the
attribute order_from parameter to specify a range
within which to search. If not used with
order_from, all orders from the order_to date and
earlier are returned.

page

Optional

Determines which page to retrieve, using the page


number. The page index starts at 1.

238

Parameter
name

Obligation

Definition/Value

status

Optional

Status of the order. Allowed values are declined,


pending, pending_fax, deleted, completed,
cancelled, ca_owner_approval, or waiting.

type

Optional

Type of order query, for example, new, premium,


renewal, sunrise, or transfer.

Response parameters for get_orders_by_domain


Standard parameters
action = reply
object = domain
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

orders

Contains arrays that list details about each


Returned if
is_success = order.
true
For more information, see the Orders table
below.

page_size

The maximum number of orders returned per


Returned if
is_success = page.
true

Orders
Parameters within the orders associative array are described below.
Parameter
name

Obligation

Definition/Value

id

Always
returned

The ID number of the order.


239

Parameter
name

Obligation

Definition/Value

order_date

Always
returned

Date the order was created.

status

Optional

Current status of the order. Values may be declined,


pending, pending_fax, deleted, completed,
cancelled, declined, ca_owner_approval, or
waiting.

type

Always
returned

Type of order, for example, new, premium,


renewal, sunrise, transfer, or whois_privacy.

Examples for get_orders_by_domain


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">get_orders_by_domain</item>
<item key="object">domain</item>
<item key="attributes">
<dt_assoc>
<item key="domain">example.com</item>
<item key="page">1</item>
<item key="order_from">2007-10-01</item>
<item key="status">pending</item>
<item key="type">new</item>
<item key="limit">100</item>
<item key="order_to">2007-10-16</item>
</dt_assoc>
240

</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">DOMAIN</item>
<item key="is_success">1</item>
<item key="response_text">Command successful</item>
<item key="response_code">200</item>
<item key="attributes">
<dt_assoc>
<item key="page_size">100</item>
<item key="orders">
<dt_array>
<item key="0">
<dt_assoc>
<item key="order_date">16-OCT-2007 15:21:26</item>
<item key="status">pending</item>
<item key="type">new</item>
<item key="id">103789</item>
</dt_assoc>
</item>
241

<item key="1">
<dt_assoc>
<item key="order_date">16-OCT-2007 15:21:23</item>
<item key="status">pending</item>
<item key="type">new</item>
<item key="id">103788</item>
</dt_assoc>
</item>
</dt_array>
</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

242

get_price
Description
Action & object
action = get_price
object = domain

Usage
Queries the price of a domain, and can be used to determine the cost of a
billable transaction for any TLD. A returned price for a given domain does not
guarantee the availability of the domain, but indicates that the requested
action is supported by the system and calculates the cost to register the
domain (if available).

Request parameters for get_price


Standard parameters
action = get_price
object = domain
attributes

Attributes
Parameters within the attributes associative array are described below.
Parameter
name

Obligation

Definition/Value

domain

Required

The domain to be queried.

period

Optional

The desired registration period. The default is 1.

reg_type

Optional

The type of registration.


Allowed values are new, renewal, and trade.
The default is new.

243

Response parameters for get_price


Standard parameters
action = reply
object = domain
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

price

The price of the queried domain. This value includes


Returned if
is_success = the OpenSRS price and the ICANN fee.
true

Examples for get_price


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">GET_PRICE</item>
<item key="object">DOMAIN</item>
<item key="attributes">
<dt_assoc>
244

<item key="domain">example.com</item>
<item key="period">1</item>
<item key="reg_type">new</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">DOMAIN</item>
<item key="is_success">1</item>
<item key="response_code">200</item>
<item key="response_text">Command Successful</item>
<item key="attributes">
<dt_assoc>
<item key="price">20.2</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

245

get_product_info
Description
Action & object
action = get_product_info
object = trust_service

Usage
Queries the properties of the specified Trust Service product.

Request parameters for get_product_info


Standard parameters
action = get_product_info
object = trust_service
attributes

Attributes
Parameters within the attributes associative array are described below.
Parameter name

Obligation

Definition/Value

all_info

Optional

If included and set to 1, the response


includes the CSR and contact
information. If the certificate was
migrated from TPP, the response includes
the TPP order ID and inventory ID.

inventory_item_id

Optional; may be
used for
certificates that
were migrated
from TPP.

The certificate product ID number that


was used in the TPP system.

Required

The Trust Service ID number.

product_id

This value may be used in place of


product_id.

Note: This value is not required for


certificates that were migrated from TPP
if inventory_item_id is submitted.

246

Response parameters for get_product_info


Standard parameters
action = reply
object = trust_service
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

contact_email

Returned if
The administrator email address.
is_success = true

csr

Returned if
Certificate Signing Request. The Trust
is_success = true Service provider uses this information to
generate the certificate.

domain

Returned if
The domain with which the Trust Service is
is_success = true associated.

expiry_date

Returned if
The date that the Trust Service certificate
is_success = true expires.

inventory_item_
id

Returned if
The certificate product ID number that was
is_success = true used in the TPP system.
and cert was
migrated from TPP

is_renewable

Returned if
Indicates whether the product is can be
is_success = true renewed at this time. Trust Service
products can be renewed between 60 days
before the expiry date and 15 days after
expiry date.
Allowed values are:

issue_date

0Product cannot be renewed at


this time.

1Product can be renewed.

Returned if
The date that the Trust Service certificate
is_success = true was issued.
247

Parameter
name

Obligation

Definition/Value

product_id

Returned if

The ID number for the Trust Service.

is_success = true
product_type

Returned if

The product type from the SSL Certificate


is_success = true inventory. The product types are detailed in
the allowed values section for this key.
Allowed values are:
comodo_ev
comodo_instantssl
comodo_premiumssl
comodo_premiumssl_wildcard
comodo_ssl
comodo_wildcard
malwarescan
quickssl
quickssl_premium
securesite
securesite_pro
securesite_ev
securesite_pro_ev
sgcsuper_certs
sitelock_basic
sitelock_premium
sitelock_enterprise
ssl123
sslwebserver
sslwebserver_wildcard
sslwebserver_ev
truebizid
truebizid_wildcard
truste_hpp (Hosted Privacy Policy)
truste_tps (TRUSTE Privacy Policy
with seal)
truebizid_ev
trustwave_dv
trustwave_ev
trustwave_premiumssl
trustwave_premiumssl_wildcard

248

Parameter
name

Obligation

start_date

Returned if
The effective date for the Trust Service.
is_success = true

state

Returned if
The state of the product. Allowed values
is_success = true are:
expired
active
renewing
renewed
revoked

tpp

order_id

upgrade_options

Definition/Value

Returned if cert was The order number that was used in the TPP
migrated from TPP system.
and is_success =
true
Returned if
is_success = true
and product_type
= sitelock_basic
or
sitelock_premium

Indicates the product types to which the


existing product can be upgraded.
Currently, this applies to Sitelock products
only.
If product_type = sitelock_basic, values
returned are sitelock_premium and
sitelock_enterprise; if product_type =
sitelock_premium, value returned is
sitelock_enterprise.

Examples for get_product_info


Example 1
Retrieves the properties for a Trust Service product.

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>

249

<data_block>
<dt_assoc>
<item key='protocol'>XCP</item>
<item key='action'>get_product_info</item>
<item key='object'>trust_service</item>
<item key='attributes'>
<dt_assoc>
<item key='product_id'>99</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'>TRUST_SERVICE</item>
<item key='is_success'>1</item>
<item key='response_text'>Command completed
successfully.</item>
<item key='response_code'>200</item>
<item key='attributes'>
<dt_assoc>
<item key='product_type'>truebizid_wildcard</item>
<item key='issue_date'>2010-09-14-04:00</item>
250

<item key='domain'>*.example.com</item>
<item key='product_id'>99</item>
<item key='contact_email'>qafive@example.com</item>
<item key='start_date'>2010-09-13-04:00</item>
<item key='expiry_date'>2010-09-22-04:00</item>
<item key='is_renewable'>0</item>
<item key='state'>expired</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

Example 2
Retrieves all information for a Trust Service product.

Request
<?xml version='1.0' encoding='UTF-8'?>
<OPS_envelope>
<header>
<version>0.9</version>
</header>
<body>
<data_block>
<dt_assoc>
<item key='protocol'>XCP</item>
<item key='action'>get_product_info</item>
<item key='object'>trust_service</item>
<item key='attributes'>
<dt_assoc>
<item key='all_info'>1</item>
<item key='product_id'>2071</item>
</dt_assoc>
</item>
251

</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'>TRUST_SERVICE</item>
<item key='is_success'>1</item>
<item key='response_text'>Command completed successfully.</item>
<item key='response_code'>200</item>
<item key='attributes'>
<dt_assoc>
<item key='csr_data'>
<dt_assoc>
<item key='country'>US</item>
<item key='organization_unit'>QA Dept</item>
<item key='valid_true_domain'>1</item>
<item key='state'>CA</item>
<item key='locality'>Santa Clara</item>
<item key='email'>qafive@example.com</item>
<item key='domain'>abc123.example.org</item>
<item key='valid_quick_domain'>1</item>
<item key='has_bad_extensions'>0</item>
<item key='organization'>Example Co.</item>
252

</dt_assoc>
</item>
<item key='notes_list'>
<dt_array>
<item key='0'>
<dt_assoc>
<item key='date'>2012-04-12T10:05:08.00005:00</item>
<item key='type'>product_active</item>
<item key='note'>The product with the id [2071] has
been created.</item>
</dt_assoc>
</item>
</dt_array>
</item>
<item key='expiry_date'>2013-04-12T18:59:59.000-05:00</item>
<item key='state'>active</item>
<item key='product_type'>sitelock_premium</item>
<item key='domain'>trust.example.org</item>
<item key='issue_date'>2012-04-12T10:02:01.000-05:00</item>
<item key='product_id'>2071</item>
<item key='is_renewable'>0</item>
<item key='contact_email'>qafive@example.com</item>
<item key='contact_set'>
<dt_assoc>
<item key='admin'>
<dt_assoc>
<item key='first_name'>Adler</item>
<item key='last_name'>Adams</item>
<item key='title'>Administrator</item>
<item key='org_name'>Example Inc.</item>
<item key='address1'>32 Oak Street</item>
<item key='address2'>Suite 100</item>
<item key='address3'/>
<item key='city'>Santa Clara</item>
<item key='state'>CA</item>
253

<item key='country'>US</item>
<item key='postal_code'>90210</item>
<item key='phone'>+1.4165550123x1812</item>
<item key='email'>adams@example.com</item>
<item key='fax'>+1.4165550125</item>
</dt_assoc>
</item>
<item key='tech'>
<dt_assoc>
<item key='first_name'>Tim</item>
<item key='last_name'>Tucker</item>
<item key='title'/>
<item key='org_name'>Example Inc.</item>
<item key='address1'>32 Oak Street</item>
<item key='address2'>Suite 100</item>
<item key='address3'/>
<item key='city'>Santa Clara</item>
<item key='state'>CA</item>
<item key='country'>US</item>
<item key='postal_code'>90210</item>
<item key='phone'>+1.4165550123x1243</item>
<item key='fax'>+1.4165550125</item>
<item key='email'>tucker@example.com</item>
</dt_assoc>
</item>
<item key='organization'>
<dt_assoc>
<item key='first_name'>Jim</item>
<item key='last_name'>Johnson</item>
<item key='title'>Director</item>
<item key='org_name'>Example Inc.</item>
<item key='address1'>32 Oak Street</item>
<item key='address2'>Suite 100</item>
<item key='address3'/>
<item key='city'>Santa Clara</item>
254

<item key='state'>CA</item>
<item key='country'>US</item>
<item key='postal_code'>90210</item>
<item key='email'>jjohnson@example.com</item>
<item key='phone'>+1.4165550125x1224</item>
<item key='fax'>+1.4165550126</item>
</dt_assoc>
</item>
<item key='billing'>
<dt_assoc>
<item key='first_name'>Bill</item>
<item key='last_name'>Burton</item>
<item key='title'/>
<item key='org_name'>Example Inc.</item>
<item key='address1'>32 Oak Street</item>
<item key='address2'>Suite 200</item>
<item key='address3'/>
<item key='city'>Santa Clara</item>
<item key='state'>CA</item>
<item key='country'>US</item>
<item key='postal_code'>90210</item>
<item key='phone'>+1.4165550123x1248</item>
<item key='fax'>+1.4165550136</item>
<item key='email'>burton@example.com</item>
</dt_assoc>
</item>
</dt_assoc>
</item>
<item key='csr'>-----BEGIN CERTIFICATE REQUEST----MIIC2TCCAcECAQAwgZMxIDAeBgNVBAMTF3NzbDEyMy5xYXJlZ3Jlc3Npb24ub3Jn
MQswCQYDVQQGEwJDQTELMAkGA1UECBMCT04xEDAOBgNVBAcTB1Rvcm9udG8xDzAN
BgNVBAoTBlR1Y293czEQMA4GA1UECxMHUUEgRGVwdDEgMB4GCSqGSIb3DQEJARYR
cWFmaXZlQHR1Y293cy5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB
AQDpKz48gJG4ImyJi76kH3AdDZoGNZCC8xgWBUDk4yNXPqe3NxJvZooZIoctP2o8
CX6+xoK8p6jMb9iIz7ZVC9LuoUmoYZZWdoatMUwaz3xIa4Fq7HeLtCE3misKMcZq
+QomhLFv2yMSgyzWWitHdW5oVDuT83Xs8FTZG33rI8gut1J9+5fhJV4WKuncfLwM
xMrj+5iWm+KwoE86dTarGAPwYhC2FepcblszVbz87Dp1clTJLaN4potMES83RHo1
teHHmJAilNzy2PfRoylbzlQ38x1n10wbhqjMcoDYk6CSB40PlduqbsMjpkOClwu4
H92c2Hmo3bqRGWM2K5SXkj29AgMBAAGgADANBgkqhkiG9w0BAQQFAAOCAQEAKUh6
255

WH4WtC/LtlJhj+p5i3sLEG/L//8DQh30eOxwMxrSGGZUGTfLBT4RaeDA5JEIF5pK
v4MxvDw1+NExMQW3h/9eVWXpGGjvC2EoLgya3ri3OJlQNOyqSzOvNunk0EPaWoO+
v9o2yKdH88e7NQZp8Pw5jhE9RV9u3+mNw2sztqpzcXYDXW3kKI2UiIP3eur2/iiH
nSAIRl5NfUPgAzCem/zpM1lc3s+EVKysn2wF4bwOkNyYPo4DmgHCb7ggSQyhh5vN
UAoDkyqu2ZScDZTyDG7YOdobMqwbsCT5er5Bq+NWOZyUE+3zO/1VQpznJehaGLrQ
N7UAJliUAO+SFFGdxQ== -----END CERTIFICATE REQUEST-----</item>
<item key='upgrade_options'>sitelock_enterprise</item>
<item key='start_date'>2012-04-11T19:00:00.000-05:00</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

Example 3
Retrieves all information for a Trust Service product that was migrated from
the TPP system.

Request
<?xml version='1.0' encoding='UTF-8'?>
<OPS_envelope>
<header>
<version>0.9</version>
</header>
<body>
<data_block>
<dt_assoc>
<item key='protocol'>XCP</item>
<item key='action'>get_product_info</item>
<item key='object'>trust_service</item>
<item key='attributes'>
<dt_assoc>
<item key='all_info'>1</item>
<item key='product_id'>2076</item>
</dt_assoc>
</item>
256

</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'>TRUST_SERVICE</item>
<item key='response_text'>Command completed successfully.</item>
<item key='response_code'>200</item>
<item key='is_success'>1</item>
<item key='attributes'>
<dt_assoc>
<item key='tpp_order_id'>9997602</item>
<item key='csr_data'>
<dt_assoc>
<item key='country'>US</item>
<item key='organization_unit'>QA Dept</item>
<item key='valid_true_domain'>1</item>
<item key='state'>CA</item>
<item key='locality'>Santa Clara</item>
<item key='email'>qafive@example.com</item>
<item key='domain'>renewtest.example.org</item>
<item key='valid_quick_domain'>1</item>
<item key='has_bad_extensions'>0</item>
257

<item key='organization'>Example Co.</item>


</dt_assoc>
</item>
<item key='notes_list'>
<dt_array>
<item key='0'>
<dt_assoc>
<item key='date'>2012-04-12T11:20:11.00005:00</item>
<item key='type'>product_active</item>
<item key='note'>The product with the id [2076] has
been created.</item>
</dt_assoc>
</item>
<item key='1'>
<dt_assoc>
<item key='date'>2012-04-12T11:20:59.00005:00</item>
<item key='type'>product_renewing</item>
<item key='note'>The product with the id [2076] is
in the process
of being renewed.</item>
</dt_assoc>
</item>
<item key='2'>
<dt_assoc>
<item key='date'>2012-04-12T11:25:07.00005:00</item>
<item key='type'>product_renewed</item>
<item key='note'>The product with the id [2076] has
been renewed.</item>
</dt_assoc>
</item>
</dt_array>
</item>
<item key='expiry_date'>2012-04-19T20:46:39.000-05:00</item>
<item key='inventory_item_id'>8887602</item>
258

<item key='state'>renewed</item>
<item key='product_type'>quickssl</item>
<item key='domain'>renewtest.example.org</item>
<item key='issue_date'>2012-04-12T11:19:11.000-05:00</item>
<item key='product_id'>2076</item>
<item key='is_renewable'>0</item>
<item key='contact_email'>qafive@examle.com</item>
<item key='contact_set'>
<dt_assoc>
<item key='admin'>
<dt_assoc>
<item key='first_name'>Adler</item>
<item key='last_name'>Adams</item>
<item key='title'>Administrator</item>
<item key='org_name'>Example Co.</item>
<item key='address1'>32 Oak Street</item>
<item key='address2'>Suite 100</item>
<item key='address3'/>
<item key='city'>Santa Clara</item>
<item key='state'>CA</item>
<item key='postal_code'>90210</item>
<item key='country'>US</item>
<item key='phone'>+1.4165550123x1812</item>
<item key='fax'>+1.4165550125</item>
<item key='email'>adams@example.com</item>
</dt_assoc>
</item>
<item key='tech'>
<dt_assoc>
<item key='first_name'>Ted</item>
<item key='last_name'>Tucker</item>
<item key='title'/>
<item key='org_name'>Example Co.</item>
<item key='address1'>32 Oak Street</item>
<item key='address2'>Suite 100</item>
259

<item key='address3'/>
<item key='city'>Santa Clara</item>
<item key='state'>CA</item>
<item key='postal_code'>90210</item>
<item key='country'>US</item>
<item key='phone'>+1.4165550123x1243</item>
<item key='fax'>+1.4165550125</item>
<item key='email'>tucker@example.com</item>
</dt_assoc>
</item>
<item key='organization'>
<dt_assoc>
<item key='first_name'>Jim</item>
<item key='last_name'>Johnson</item>
<item key='title'>Director</item>
<item key='org_name'>Example Co.</item>
<item key='address1'>32 Oak Street</item>
<item key='address2'>Suite 100</item>
<item key='address3'/>
<item key='city'>Santa Clara</item>
<item key='state'>CA</item>
<item key='country'>US</item>
<item key='postal_code'>90210</item>
<item key='phone'>+1.4165550123x1224</item>
<item key='email'>jjohnson@example.com</item>
<item key='fax'>+1.4165550126</item>
</dt_assoc>
</item>
<item key='billing'>
<dt_assoc>
<item key='first_name'>Bill</item>
<item key='last_name'>Burton</item>
<item key='title'/>
<item key='org_name'>Example Co.</item>
<item key='address1'>32 Oak Street</item>
260

<item key='address2'>Suite 200</item>


<item key='address3'/>
<item key='city'>Santa Clara</item>
<item key='state'>CA</item>
<item key='country'>US</item>
<item key='postal_code'>90210</item>
<item key='phone'>+1.4165550123x1248</item>
<item key='fax'>+1.4165550136</item>
<item key='email'>burton@example.com</item>
</dt_assoc>
</item>
</dt_assoc>
</item>
<item key='csr'>-----BEGIN CERTIFICATE REQUEST----MIIC3DCCAcQCAQAwgZYxIzAhBgNVBAMTGnJlbmV3dGVzdC5xYXJlZ3Jlc3Npb24ub3JnMQs
wCQYDVQQGEwJDQTELMAkGA1UECBMCT04xEDAOBgNVBAcTB1Rvcm9udG8x
DzANBgNVBAoTBlR1Y293czEQMA4GA1UECxMHUUEgRGVwdDEgMB4GCSqGSIb3DQEJARYRcWF
maXZlQHR1Y293cy5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK
AoIBAQDS7+XQflaRIXlWlRv9MRwa5vidu4uKciZdthDVkWo50lYPVZcwSY1v5bhTwIGpGna
22ak3snH+GDcYKqy9umY0cVbJRM16jsWNiVc4xgylR6JD/rGxG7DVlUu/
qJK1T8tl09PGLz9yRWnLSb9BbZ85tRgq1+up57/O4zXNgznRZhxibr5mgb4w/5yWga/elUa
t6GJNLsbvZo+k516JgCk2trudH9+tr72454T8ZR5fbdw23GruqvQGilUY
UsKe1Uywv8vgml1AIGTPctPwfxcFhRPMdWbZ/YmmaxNvd1/DBXZKL8F0wh672aGNEx5DXTk
so2tVPwpadgyLJFqMaHdzAgMBAAGgADANBgkqhkiG9w0BAQQFAAOCAQEA
YYLY/3lGaxxxQASKwm4mUY4QAytqp24A0/i1OSOJNG86OOR8ws7VtFSGKa2B//gx6y2KAI6
zomWL4Zpl4DcD8ttckv343DqFwjzJWn5P5/uLBg1z1QVJfVXAyWOt7PQb
qx3EfaiVMgoHYCyQgXx50/iKg1w+k2Q2PUGPVJQFTBdXKBn5eaRJJW2JNJVhaNok9peAgsE
adXTUGMrKpU0iaExWTvHBN3v9jjF1tow/hhbUqBGk80OVb2MGsa5Rp5aP
WG8wWgI67EYcDe2IKvRfoPfzKw6WsLHq2GHp+qqJjXAUB4TBP3/cb3nIrAA8+h9lR3UCZ0L
yB0rQM7pkk0t9Jw== -----END CERTIFICATE REQUEST-----</item>
<item key='start_date'>2012-04-11T09:02:43.000-05:00</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

261

get_products
Description
Action & object
action = get_products
object = trust_service

Usage
Returns a list of the Trust Service products whose expiry dates are within a
specific date range.

Request parameters for get_products


Standard parameters
action = get_products
object = trust_service
attributes

Attributes
Parameters within the attributes associative array are described below.
Parameter
name

Obligation Definition/Value

max_expiry_date Required

Used in conjunction with min_expiry_date attribute


The latest expiry date to use to generate a list of Trust
Service products.
Date must be in the format YYYY-MM-DD.

min_expiry_date Required

Used in conjunction with max_expiry_date


attribute. The earliest expiry date to use to generate a
list of Trust Service products.
Date must be in the format YYYY-MM-DD.

state

Optional

The state of the Trust Service products that you want


returned. Allowed values are:

activated

active

expired

renewed

revoked

upgraded

262

Response parameters for get_products


Standard parameters
action = reply
object = trust_service
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
Parameters within the attributes associative array are described below.
Parameter
name

Obligation

Definition/Value

product_list

Returned if
is_success =
true

An array that lists the products whose expiry


dates are within a specific date range.
For more information, see the product_list
table below.

product_list
Parameters within the product_list associative array are described below.
Parameter
name

Obligation

Definition/Value

contact_email

Returned if
is_success =
true

The email contact from the order.

domain

Returned if
is_success =
true

The domain or hostname to which the Trust


Service applies.

expiry_date

Returned if
is_success =
true

The date that the Trust Service product


expires.

is_renewable

Returned if
is_success =
true

Indicates whether the product is can be


renewed at this time. Trust Service products
can be renewed between 60 days before the
expiry date and 15 days after expiry date.
Allowed values are:

0Product cannot be renewed at this


time.
263

Parameter
name

Obligation

Definition/Value

1Product can be renewed.

issue_date

Returned if
is_success =
true

The date that the Trust Service product was


issued.

product_id

Returned if
is_success =
true

The ID number of the Trust Service product

product_type

Returned if
is_success =
true

The product type from the SSL Certificate


inventory.
Allowed values are:
comodo_ev
comodo_instantssl
comodo_premiumssl
comodo_premiumssl_wildcard
comodo_ssl
comodo_wildcard
malwarescan
quickssl
quickssl_premium
securesite
securesite_ev
securesite_pro
securesite_pro_ev
sgcsuper_certs
sitelock_basic
sitelock_premium
sitelock_enterprise
ssl123
sslwebserver
sslwebserver_ev
sslwebserver_wildcard
truebizid
truebizid_ev
truebizid_wildcard
truste_hpp (Hosted Privacy Policy)
truste_tps (TRUSTE Privacy Policy with
seal)
trustwave_dv

264

Parameter
name

Obligation

Definition/Value

trustwave_ev
trustwave_premiumssl
trustwave_premiumssl_wildcard

start_date

Returned if
is_success =
true

The effective date for the Trust Service.

state

Returned if
is_success =
true

The state of the Trust Service product.


Allowed values are:

approver-confirmedOwner has
confirmed the domain vetted certificate.

awaiting-approvalOrder processed
successfully; waiting for supplier
approval.

cancelled Pending order was


cancelled.

completedOrder is complete.

declinedOrder cancelled after it was


processed or declined by the supplier.

in-progressOrder is in progress.

pendingOrder saved as pending.

Examples for get_products


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'>get_products</item>
<item key='object'>trust_service</item>
<item key='attributes'>
265

<dt_assoc>
<item key='min_expiry_date'>2012-04-23</item>
<item key='state'>expired</item>
<item key='max_expiry_date'>2012-09-22</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'>TRUST_SERVICE</item>
<item key='response_text'>Command completed successfully.</item>
<item key='response_code'>200</item>
<item key='attributes'>
<dt_assoc>
<item key='product_list'>
<dt_array>
<item key='0'>
<dt_assoc>
<item key='expiry_date'>2012-04-23T10:41:04.00004:00</item>
<item key='state'>expired</item>
<item key='product_type'>quickssl</item>
266

<item key='issue_date'>2012-04-16T09:17:46.00004:00</item>
<item key='domain'>example.org</item>
<item key='product_id'>2094</item>
<item key='contact_email'>qafive@example.com</item>
<item key='is_renewable'>0</item>
<item key='start_date'>2012-04-14T20:14:48.00004:00</item>
</dt_assoc>
</item>
<item key='1'>
<dt_assoc>
<item key='expiry_date'>2012-05-08T07:34:49.00004:00</item>
<item key='state'>expired</item>
<item key='product_type'>securesite_pro</item>
<item key='issue_date'>2012-04-30T11:27:59.00004:00</item>
<item key='domain'>example.net</item>
<item key='product_id'>2096</item>
<item key='contact_email'>qafive@example.com</item>
<item key='is_renewable'>0</item>
<item key='start_date'>2012-04-28T19:42:30.00004:00</item>
</dt_assoc>
</item>
</dt_array>
</item>
</dt_assoc>
</item>
<item key='is_success'>1</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

267

get_registrant_verification_status
Description
Action & object
action =get_registrant_verification_status
object = domain
Usage
When a domain is registered or transferred, or when the registrant contact
information is changed, the registrant must reply to an email requesting
them to confirm that the submitted contact information is correct. This
command returns the current state of the verification request.

Request parameters for


get_registrant_verification_status
Standard parameters
action = get_registrant_verification_status
object = domain
attributes

Attributes
Parameters within the attributes associative array are described below.
Parameter name Obligation

Definition / Value

domain

The relevant domain.

Required if cookie is not submitted

Response parameters for


get_registrant_verification_status
Standard parameters
action = reply
object = domain
is_success = a Boolean is returned, indicating success or failure of the
request
268

response_code = response code indicating outcome of the request


response_text = message describing the outcome of the request

Attributes
Parameters within the attributes associative array are described below.
Parameter
name

Obligation Definition/Value

days_to_suspend Returned if The number of days remaining until the domain is


is_success suspended if the registrant information is not
= true
validated. If the domain has already been
suspended, this value will be a negative number.
Note: This parameter is returned only if the value
for registrant_verification_status is pending,
verifying, suspended, or admin_reviewing.
email_bounced

Returned if Returns 1 if the verification email was triggered


is_success because the WDRP or the renewal notice bounced.
= true

registrant_
verification_
status

Returned if The current status of the verification.


is_success Allowed values are:
= true
admin_reviewingThe registrant data has
been submitted and is being validated
manually by the Tucows Compliance team

verification_
deadline

pendingThe verification process has been


initiated, and the verification email will be
sent.

suspendedThe registrant has failed


verification and the domain has been
suspended.

verifiedThe registrant has been validated.

verifyingThe verification process has


been initiated and is waiting for registrant
response.

unverifiedThe verification process has not


been initiated.

Returned if The number of days remaining until the domain is


is_success suspended if the registrant information is not
validated. If the domain has already been
= true
suspended, this value will be a negative number.
Note: This parameter is returned only if the value
for registrant_verification_status is pending,
verifying, suspended, or admin_reviewing.

269

Examples for get_registrant_verification_status


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'>get_registrant_verification_status</item>
<item key='object'>domain</item>
<item key='attributes'>
<dt_assoc>
<item key='domain'>example.com</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>
270

<item key="protocol">XCP</item>
<item key="action">REPLY</item>
<item key="object">DOMAIN</item>
<item key="response_code">200</item>
<item key="is_success">1</item>
<item key="response_text">Command Successful</item>
<item key="attributes">
<dt_assoc>
<item key="registrant_verification_status">suspended</item>
<item key="verification_deadline">2013-112-02
00:00:00</item>
<item key="email_bounced">1</item>
<item key="days_to_suspend">2</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

271

lookup (domain)
Description
Action & object
action = lookup
object = domain

Usage
Determines the availability of a specified domain name.
Note: This command checks the availability of a single domain name. We
recommend that you use the much more robust name_suggest API instead. In
addition to checking the specified domain name, the name_suggest API also
checks whether the domain name is available in other TLDs (.COM, .NET,
.ORG, .INFO, and .BIZ), and it returns a list of suggested domains names
that are related to the specified name.

Request parameters for lookup (domain)


Standard parameters
action = lookup
object = domain
registrant_ip = valid IP address of the registrant (optional)
attributes

Attributes
Parameters within the attributes associative array are described below.
Parameter
name

Obligation

Definition/Value

domain

Required

The domain name to be queried.

no_cache

Optional

In order to obtain results quickly, the default for the


lookup command is to check the local OpenSRS
cache to determine domain name availability. If you
specify no_cache = 1, instead of checking the
cache, the lookup command queries the applicable
registry to determine domain name availability.

Note: Setting no_cache to 1 increases the amount


of time it takes to get results.

272

Deprecated
Parameter
name

Obligation

Definition/Value

pre_reg

Deprecated

Used during the .BIZ round robin.

Note: No encoding type is sent on a lookup.

Response parameters for lookup (domain)


Standard parameters
action = reply
object = domain
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

Note: Even if the domain being queried is taken (response_code = 211),


is_success is set to 1 because the query was successful. Therefore, be sure
to check the response_code and response_text when reading the reply.

Attributes
If the request is successful, the attributes associative array may include the
following:
Parameter
name

Obligation

Definition/Value

email_available

Optional

Indicates whether a forwarding email is


available or not. Applies to .NAME domains
only.

has_claim

0No forwarding email available

1Forwarding email available

Returned for the


Indicates whether the domain name has a
new TLDs during matching mark registered at the Trademark
the claims period Clearinghouse (TMCH)
(90 days from the
0No matching marks exist at the
start of GA)
TMCH.

noservice

Returned for
.NAME if
is_success =

1A mark is registered at the TMCH


that matches the domain name.

Indicates Registry Agent availability. If RA is


available, noservice does not appear in
response.
273

Obligation

Parameter
name

true

Definition/Value

1Supplier unavailable

Note: when noservice = 1, is_success = 0.


price_status

status

Returned if
is_success =
true

The pricing status.

Returned if
is_success =
true

Whether the domain is available or taken.

UndefNon .TV domains

FixedPrice is fixed for .TV domains

Examples for lookup (domain)


Example 1
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">LOOKUP</item>
<item key="object">DOMAIN</item>
<item key="registrant_ip">111.121.121.121</item>
<item key="attributes">
<dt_assoc>
<item key="domain">example.com</item>
<item key="no_cache">1</item>
</dt_assoc>
</item>
</dt_assoc>
274

</data_block>
</body>
</OPS_envelope>

Response
If domain is available
<?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">DOMAIN</item>
<item key="is_success">1</item>
<item key="response_code">210</item>
<item key="response_text">Domain available</item>
<item key="attributes">
<dt_assoc>
<item key="status">available</item>
<item key="email_available">undef</item>
<item key="price_status">undef</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

If domain is unavailable
<?xml version='1.0' encoding='UTF-8' standalone='no' ?>
275

<!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">DOMAIN</item>
<item key="is_success">1</item>
<item key="response_code">211</item>
<item key="response_text">Domain taken</item>
<item key="attributes">
<dt_assoc>
<item key="status">taken</item>
<item key="email_available">undef</item>
<item key="price_status">undef</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

Example 2
Lookup request for a new TLD during the claims period

Request
<?xml version='1.0' encoding='UTF-8' standalone='no'?>
<!DOCTYPE OPS_envelope SYSTEM 'ops.dtd'>
<OPS_envelope>
<header>
<version>0.9</version>
276

<msg_type>standard</msg_type>
</header>
<body>
<data_block>
<dt_assoc>
<item key='protocol'>XCP</item>
<item key='action'>LOOKUP</item>
<item key='object'>DOMAIN</item>
<item key='attributes'>
<dt_assoc>
<item key='domain'>example.guru</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'>DOMAIN</item>
<item key='is_success'>1</item>
<item key='response_code'>210</item>
<item key='response_text'>Domain available</item>
<item key='attributes'>
<dt_assoc>
277

<item key='status'>available</item>
<item key='has_claim'>1</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

278

name_suggest (domain)
Description
Action & object
action = name_suggest
object = domain

Usage
Checks whether a specified name, word, or phrase is available for registration
in gTLDs and ccTLDs, suggests other similar domain names for .COM,
.NET, .ORG, .INFO, .BIZ, .US, and .MOBI domains, and checks whether they
are available. Reseller must be enabled for the specified TLDs. Can also be
used to search for domains owned by external domain suppliers.

Request parameters for name_suggest (domain)


Standard parameters
action = name_suggest
object = domain
attributes

Attributes
Parameters within the attributes associative array are described below.
Parameter name Obligation

Definition/Value

languages

Specify the languages in which to return


suggestions for other similar names.

Optional

enEnglish

fr French

deGerman

itItalian

esSpanish

You can specify the languages in which you


want to see name suggestions, for example,
you can submit a name, word or phrase in
Spanish and specify es to request suggestions
in Spanish.
If you do not specify a language code, the
system tries to determine the language used in
the searchstring and returns suggestions in
279

Parameter name Obligation

Definition/Value
that language.

max_wait_time

Optional

Specify the number of seconds that the


command can run, and return as many results
as can be found in that time period. You can
specify a fraction of a second, as long as the
value is at least 0.1. If the results cannot be
determined for any of the lookup domains
within the specified time, the returned status
value is in_progress.
If all results cannot be returned for suggestion,
premium, or personal names within the
specified time period, no results are returned for
that service; that is the command returns all
results or no results for each of these services.
After the results obtained within the
max_wait_time are returned, the command
continues to run in the background, and you
can resubmit the command with the
search_key to see more results.
Note: If you do not include the
max_wait_time parameter, the command
takes as long as it needs to return complete
results.

search_key

Optional

Resumes the previously run name_suggest


command if the command did not return
complete results during the specified
max_wait_time

searchstring

Required

The name, word, or phrase whose availability


you want to check.
Note: The first level domain (for example,
.COM) is not required.

280

Parameter name Obligation

Definition/Value

service_override

Overrides default settings for lookup,


suggestion, or premium.

Optional

For more information, see the


Service_Override table below.
Note: service_override is not available for
personal_names.
services

Optional

skip_registry_lookup Optional

Specify the services for which you want to


check availability.

lookupCheck availability.

suggestionRequest suggestions.

personal_namesCheck the
availability of the specified personal
name, (firstname lastname).

premiumInclude domains owned by


external domain suppliers.

premium_brokered_transferInclude
domain names that may be purchased
from external suppliers that use a broker
to complete the purchase process.

premium_make_offerInclude
domain names that may be purchased
from external suppliers where the buyer
and seller negotiate the purchase price.

Specifies whether to query the applicable


registries to find out if the lookup domain
names are available for registration.

0Query the registries; this is the


default.

1Do not query the registries.

Note: If you set this parameter to 1, the


response is returned more quickly; however, the
results do not indicate whether or not the
lookup names are available. You still have to
check the availability of any names you are
interested in, for example, by using the lookup
(domain) command.
suggestion

Optional

Specify the TLDs to check for name


suggestions; can also specify the number of
suggestions to return. Suggestions are only
available for .COM, .NET, .ORG, .INFO, and
.BIZ.
Allowed values may be the tlds array and the
maximum parameter.
For more information, see the Lookup and
Suggestion table below.
281

Parameter name Obligation

Definition/Value

tlds

The TLDs you want to check for domain name


availability and suggestions.

Required

Lookups are available for all gTLDs and ccTLDs.


Suggestions are available for .COM, .NET, .ORG,
.INFO, .BIZ, .US, and .MOBI.

Service_Override
Parameters within the service_override associative array are described
below.
Parameter
name

Obligation

Definition/Value

lookup

Optional

Specify the TLDs to check for availability.


Lookups are available for all gTLDs and ccTLDs.

personal_names

Optional

Specify the TLDs to check for available personal


names.

premium

Optional

Specify the TLDs to check for availability.


Premium domain name lookups are available
for .COM, .NET, .ORG, .INFO, and .BIZ.

suggestion

Optional

Specify the TLDs to check for name suggestions;


can also specify the number of suggestions to
return. Suggestions are available for .COM, .NET,
.ORG, .INFO, .BIZ, .US, and .MOBI.
Allowed values may be the tlds array and the
maximum parameter.
For more information, see the Lookup and
Suggestion table below.

Lookup and Suggestion


Parameters within the lookup and suggestion associative arrays are
described below.
Parameter
name

Obligation

Definition/Value

maximum

Optional

The maximum number of domain name suggestions


to return.
Specify 1 to 100; 100 is the default.

282

Parameter
name

Obligation

Definition/Value

price_max

Optional; used
only for
Premium
domains

The maximum price of the Premium domains to


return.
The value must be an integer, for example, 1150;
decimal points are not allowed.
If this parameter is not submitted or if the value is
not acceptable, the default value of 5000 is used. If
this value is less than the price_min value, the
default values for both price_min and price_max
are used.

price_min

Optional; used
only for
Premium
domains

The minimum price of the Premium domains to


return. The value must be greater than zero, and
must be an integer, for example, 250; decimal
points are not allowed.
If this parameter is not submitted or if the value is
not acceptable, the default value of 50 is used. If
this value is greater than the price_max value, the
default values for both price_min and price_max
are used.

tlds

Required

The TLDs you want to check for domain name


availability and suggestions.
Lookups are available for all gTLDs and ccTLDs.
Suggestions are available for .COM, .NET, .ORG,
.INFO, .BIZ, .US, and .MOBI.

Lookup
The following parameter may be used in the lookup associative array:
Parameter
name

Obligation

Definition/Value

no_cache_tlds

Optional

In order to obtain results quickly, the default for the


lookup command is to check the local OpenSRS
cache to determine domain name availability. If you
specify no_cache_tlds = 1, instead of checking
the cache, the lookup command queries the
applicable registries to determine domain name
availability.

Note: Setting no_cache_tlds to 1 increases the


amount of time it takes to get results.

283

Response parameters for name_suggest (domain)


Standard parameters
action = reply
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

Attributes
If the request is successful, the attributes associative array may include the
following:
Parameter name

Obligation

Definition/Value

has_claim

Indicates whether the domain name has


Returned for the
new TLDs during a matching mark registered at the
the claims period Trademark Clearinghouse (TMCH)
(90 days from the
0No matching marks exist at
start of GA)
the TMCH.

is_search_completed

lookup

Returned if
is_success =
true

Optional

1A mark is registered at the


TMCH that matches the domain
name.

Indicates whether all results were


returned within the specified
max_wait_time.

0Search results are not


complete.
Note: The command continues to
run in the background, and you
can resubmit the command with
the search_key to see more
results.

1Search completed.

The results returned for lookup.


Values may be the count parameter and
items associative array.
For more information, see the Premium,
Personal_Names, Lookup, and
Suggestion table below.

284

Parameter name

Obligation

Definition/Value

personal_names

Optional

The results returned for


personal_names.
Values may be the count parameter and
the items associative array.
For more information, see the Premium,
Personal_Names, Lookup, and
Suggestion table below.

premium

Optional

The results returned for premium.


Values may be the count parameter and
the items associative array.
For more information, see the Premium,
Personal_Names, Lookup, and
Suggestion table below.

premium_brokered_
transfer

Optional

The results returned for


premium_brokered_transfer.
Values may be the count parameter and
the items associative array.
For more information, see the Premium,
Personal_Names, Lookup, and
Suggestion table below.

premium_make_offer

Optional

The results returned for


premium_make_offer.
Values may be the count parameter and
the items associative array.
For more information, see the Premium,
Personal_Names, Lookup, and
Suggestion table below.

search_key

suggestion

Returned if
is_success =
true and
is_search_
completed = 0

A key that is returned if the


name_suggest command did not return
complete results during the specified
max_wait_time.

Optional

The results returned for suggestion.

The command continues to run in the


background, and you can resubmit the
command with the search_key to see
more results.
Values may be the count parameter and
the items associative array.
For more information, see the Premium,
Personal_Names, Lookup, and
Suggestion table below.

285

Premium, Personal_Names, Lookup, and Suggestion


Parameters within the premium, personal_names, lookup, and suggestion
associative arrays are described below.
Parameter
name

Obligation

Definition/Value

count

Always
returned

The number of results returned for lookup,


personal_names, suggestion, or premium.

items

Always
returned

List of domain names and their statuses.


Allowed values are domain and status.

Items
Parameters within the items associative array are described below.
Parameter
name

Obligation

Definition/Value

domain

Always
returned

Returned domain name.

price

Optional

The purchase price for the premium domain.

status

Always
returned

Indicates whether the returned domain names are


available and can be registered. Allowed values are:

third_party_
offer_url

Returned for
premium_
make_offer
domains

availableDomain name is available and


can be registered.

justsoldDomain name has been sold and


is not available.

takenDomain name is not available.

undeterminedReturned if
skip_registry_lookup = 1 in the request,
or if the registry could not be contacted.

in_progressThe command could not


determine the status of the domain name in
the allowed time. The command continues to
run in the background, and you can resubmit
the command with the search_key to see
more results.

The URL of the vendor that is facilitating the


negotiations between buyer and seller for the Make
Offer Premium domain.

286

Examples for name_suggest (domain)

Note: Due to the length of the responses in these examples, in some cases,
the results have been truncated by using ellipses (...) to represent omitted
results.

Example 1
For lookup, suggestion, premium, and personal names with suggestion
limited to .COM, .NET, and .ORG, in English, German, Italian, and Spanish.

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'>name_suggest</item>
<item key='object'>domain</item>
<item key='attributes'>
<dt_assoc>
<item key='services'>
<dt_array>
<item key='0'>lookup</item>
<item key='1'>suggestion</item>
<item key='2'>premium</item>
<item key='3'>personal_names</item>
</dt_array>
</item>
<item key='searchstring'>search string</item>
<item key='languages'>
<dt_array>
<item key='0'>en</item>
287

<item key='1'>de</item>
<item key='2'>it</item>
<item key='3'>es</item>
</dt_array>
</item>
<item key='tlds'>
<dt_array>
<item key='0'>.com</item>
<item key='1'>.net</item>
<item key='2'>.org</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='response_text'>Command completed successfully</item>
<item key='response_code'>200</item>
<item key='is_success'>1</item>
<item key='attributes'>
288

<dt_assoc>
<item key='lookup'>
<dt_assoc>
<item key='count'>6</item>
<item key='response_text'>Command completed
successfully.</item>
<item key='is_success'>1</item>
<item key='response_code'>200</item>
<item key='items'>
<dt_array>
<item key='0'>
<dt_assoc>
<item key='domain'>searchstring.com</item>
<item key='status'>taken</item>
</dt_assoc>
</item>
<item key='1'>
<dt_assoc>
<item key='domain'>searchstring.net</item>
<item key='status'>available</item>
</dt_assoc>
</item>
<item key='2'>
<dt_assoc>
<item key='domain'>searchstring.org</item>
<item key='status'>available</item>
</dt_assoc>
</item>
<item key='3'>
<dt_assoc>
<item key='domain'>search-string.com</item>
<item key='status'>available</item>
</dt_assoc>
</item>
...
289

</dt_array>
</item>
</dt_assoc>
</item>
<item key='personal_names'>
<dt_assoc>
<item key='count'>6</item>
<item key='response_text'>Command completed
successfully.</item>
<item key='response_code'>200</item>
<item key='is_success'>1</item>
<item key='items'>
<dt_array>
<item key='0'>
<dt_assoc>
<item key='domain'>search.stringham.com</item>
<item key='status'>available</item>
</dt_assoc>
</item>
<item key='1'>
<dt_assoc>
<item key='domain'>search.stringhini.com</item>
<item key='status'>available</item>
</dt_assoc>
</item>
<item key='2'>
<dt_assoc>
<item
key='domain'>search.stringfield.com</item>
<item key='status'>available</item>
</dt_assoc>
</item>
<item key='3'>
<dt_assoc>
<item key='domain'>search.stringer.net</item>
<item key='status'>available</item>
290

</dt_assoc>
</item>
...
</dt_array>
</item>
</dt_assoc>
</item>
<item key='premium'>
<dt_assoc>
<item key='count'>20</item>
<item key='response_text'>Command Successful</item>
<item key='response_code'>200</item>
<item key='is_success'>1</item>
<item key='items'>
<dt_array>
<item key='0'>
<dt_assoc>
<item key='domain'>badmintonstring.com</item>
<item key='status'>available</item>
<item key='price'>1349.00</item>
</dt_assoc>
</item>
<item key='1'>
<dt_assoc>
<item key='domain'>cheapstring.com</item>
<item key='status'>available</item>
<item key='price'>1549.00</item>
</dt_assoc>
</item>
<item key='2'>
<dt_assoc>
<item key='domain'>elasticstring.com</item>
<item key='status'>available</item>
<item key='price'>1399.00</item>
</dt_assoc>
291

</item>
<item key='3'>
<dt_assoc>
<item key='domain'>findcordblood.com</item>
<item key='status'>available</item>
<item key='price'>1688.00</item>
</dt_assoc>
</item>
...
</dt_array>
</item>
</dt_assoc>
</item>
<item key='suggestion'>
<dt_assoc>
<item key='count'>50</item>
<item key='response_text'>Command Successful</item>
<item key='response_code'>200</item>
<item key='is_success'>1</item>
<item key='items'>
<dt_array>
<item key='0'>
<dt_assoc>
<item
key='domain'>amazonsearchstring.com</item>
<item key='status'>available</item>
</dt_assoc>
</item>
<item key='1'>
<dt_assoc>
<item
key='domain'>archivesearchstring.com</item>
<item key='status'>available</item>
</dt_assoc>
</item>
<item key='2'>
292

<dt_assoc>
<item key='domain'>briefsearchstring.com</item>
<item key='status'>available</item>
</dt_assoc>
</item>
...
<item key='49'>
<dt_assoc>
<item key='domain'>search-string.org</item>
<item key='status'>available</item>
</dt_assoc>
</item>
</dt_array>
</item>
</dt_assoc>
</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

Example 2
For both lookup and suggestion with lookups limited to .COM and .INFO,
querying the registry (not OpenSRS cache) for .COM lookups, suggestions
limited to .COM and .ORG, and maximum 25 suggestions returned.

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>
293

<data_block>
<dt_assoc>
<item key="protocol">XCP</item>
<item key="action">name_suggest</item>
<item key="object">domain</item>
<item key="attributes">
<dt_assoc>
<item key="searchstring">example@search.com</item>
<item key="service_override">
<dt_assoc>
<item key="suggestion">
<dt_assoc>
<item key="tlds">
<dt_array>
<item key="0">.com</item>
<item key="1">.org</item>
</dt_array>
</item>
<item key="maximum">25</item>
</dt_assoc>
</item>
<item key="lookup">
<dt_assoc>
<item key="tlds">
<dt_array>
<item key="0">.com</item>
<item key="1">.info</item>
</dt_array>
</item>
<item key = "no_cache_tlds">
<dt_array>
<item key="0">.com</item>
</dt_array>
</item>
</dt_assoc>
294

</item>
</dt_assoc>
</item>
<item key="services">
<dt_array>
<item key="0">lookup</item>
<item key="1">suggestion</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="response_text">Command completed
successfully</item>
<item key="is_success">1</item>
<item key="response_code">200</item>
<item key="attributes">
<dt_assoc>
<item key="lookup">
<dt_assoc>
295

<item key="count">8</item>
<item key="response_text"/>
<item key="response_code">0</item>
<item key="is_success">1</item>
<item key="items">
<dt_array>
<item key="0">
<dt_assoc>
<item key="domain">examplesearch.com</item>
<item key="status">available</item>
</dt_assoc>
</item>
<item key="1">
<dt_assoc>
<item key="domain">examplesearch.info</item>
<item key="status">available</item>
</dt_assoc>
</item>
<item key="2">
<dt_assoc>
<item
key="domain">example.com</item>
<item key="status">taken</item>
</dt_assoc>
</item>
...
</dt_array>
</item>
</dt_assoc>
</item>
<item key="suggestion">
<dt_assoc>
<item key="count">25</item>
<item key="response_text"/>
296

<item key="response_code">0</item>
<item key="is_success">1</item>
<item key="items">
<dt_array>
<item key="0">
<dt_assoc>
<item
key="domain">modelhunt.org</item>
<item key="status">available</item>
</dt_assoc>
</item>
<item key="1">
<dt_assoc>
<item
key="domain">modelfind.org</item>
<item key="status">available</item>
</dt_assoc>
</item>
<item key="2">
<dt_assoc>
<item
key="domain">problemfind.org</item>
<item key="status">available</item>
</dt_assoc>
</item>
...
</dt_array>
</item>
</dt_assoc>
</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>
297

Example 3
For premium domains, limited to .COM and .NET.

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'>name_suggest</item>
<item key='object'>domain</item>
<item key='attributes'>
<dt_assoc>
<item key='searchstring'>abc&amp;d !</item>
<item key='service_override'>
<dt_assoc>
<item key='premium'>
<dt_assoc>
<item key='tlds'>
<dt_array>
<item key='0'>.com</item>
<item key='1'>.net</item>
</dt_array>
</item>
</dt_assoc>
</item>
</dt_assoc>
</item>
<item key='services'>
<dt_array>
298

<item key='0'>premium</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="is_success">1</item>
<item key="response_text">Command completed
successfully</item>
<item key="response_code">200</item>
<item key="attributes">
<dt_assoc>
<item key="premium">
<dt_assoc>
<item key="count">4</item>
<item key="response_text"/>
<item key="response_code">0</item>
<item key="is_success">1</item>
<item key="items">
<dt_array>
299

<item key="0">
<dt_assoc>
<item key="domain">abc-andd.com</item>
<item key="status">available</item>
<item key="price">299.98</item>
</dt_assoc>
</item>
<item key="1">
<dt_assoc>
<item
key="domain">abcandd.com</item>
<item key="status">available</item>
<item key="price">499.98</item>
</dt_assoc>
</item>
<item key="2">
<dt_assoc>
<item
key="domain">abcandd.net</item>
<item key="status">available</item>
<item key="price">99.78</item>
</dt_assoc>
</item>
<item key="3">
<dt_assoc>
<item key="domain">abcd.com</item>
<item key="status">available</item>
<item key="price">1523.45</item>
</dt_assoc>
</item>
</dt_array>
</item>
</dt_assoc>
</item>
</dt_assoc>
300

</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

Example 4
For premium, lookup, and suggestion, limited to .COM, maximum 10
suggestions returned.

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">name_suggest</item>
<item key="object">domain</item>
<item key="attributes">
<dt_assoc>
<item key="service_override">
<dt_assoc>
<item key="premium">
<dt_assoc>
<item key="tlds">
<dt_array>
<item key="0">.com</item>
</dt_array>
</item>
</dt_assoc>
301

</item>
<item key="suggestion">
<dt_assoc>
<item key="tlds">
<dt_array>
<item key="0">.com</item>
</dt_array>
</item>
<item key="maximum">10</item>
</dt_assoc>
</item>
<item key="lookup">
<dt_assoc>
<item key="tlds">
<dt_array>
<item key="0">.com</item>
</dt_array>
</item>
</dt_assoc>
</item>
</dt_assoc>
</item>
<item key="services">
<dt_array>
<item key="0">lookup</item>
<item key="1">suggestion</item>
<item key="2">premium</item>
</dt_array>
</item>
<item key="searchstring">abc&amp;d</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
302

</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="response_text">Command completed
successfully</item>
<item key="is_success">1</item>
<item key="response_code">200</item>
<item key="attributes">
<dt_assoc>
<item key="lookup">
<dt_assoc>
<item key="count">2</item>
<item key="response_text"/>
<item key="response_code">0</item>
<item key="is_success">1</item>
<item key="items">
<dt_array>
<item key="0">
<dt_assoc>
<item key="domain">abc-d.com</item>
<item key="status">available</item>
</dt_assoc>
</item>
<item key="1">
<dt_assoc>
303

<item key="domain">abcd.com</item>
<item key="status">taken</item>
</dt_assoc>
</item>
</dt_array>
</item>
</dt_assoc>
</item>
<item key="premium">
<dt_assoc>
<item key="count">3</item>
<item key="response_text"/>
<item key="response_code">0</item>
<item key="is_success">1</item>
<item key="items">
<dt_array>
<item key="0">
<dt_assoc>
<item key="domain">abc-andd.com</item>
<item key="status">available</item>
<item key="price">299.98</item>
</dt_assoc>
</item>
<item key="1">
<dt_assoc>
<item
key="domain">abcandd.com</item>
<item key="status">available</item>
<item key="price">499.98</item>
</dt_assoc>
</item>
<item key="2">
<dt_assoc>
<item key="domain">abcd.com</item>
<item key="status">available</item>
304

<item key="price">1523.45</item>
</dt_assoc>
</item>
</dt_array>
</item>
</dt_assoc>
</item>
<item key="suggestion">
<dt_assoc>
<item key="count">10</item>
<item key="response_text"/>
<item key="response_code">0</item>
<item key="is_success">1</item>
<item key="items">
<dt_array>
<item key="0">
<dt_assoc>
<item
key="domain">abcdlive.com</item>
<item key="status">available</item>
</dt_assoc>
</item>
<item key="1">
<dt_assoc>
<item
key="domain">abcdpro.com</item>
<item key="status">available</item>
</dt_assoc>
</item>
<item key="2">
<dt_assoc>
<item
key="domain">abcdslive.com</item>
<item key="status">available</item>
</dt_assoc>
</item>
305

...
</dt_array>
</item>
</dt_assoc>
</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

Example 5
For lookup and suggestion, limited to .COM, not checking the availability of
the lookup domain, maximum 10 suggestions returned.

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">name_suggest</item>
<item key="object">domain</item>
<item key="attributes">
<item key="services">
<dt_array>
<item key="0">lookup</item>
<item key="1">suggestion</item>
</dt_array>
306

</item>
<dt_assoc>
<item key="searchstring">smith</item>
<item key="skip_registry_lookup">1</item>
<item key="service_override">
<dt_assoc>
<item key="suggestion">
<dt_assoc>
<item key="tlds">
<dt_array>
<item key="0">.com</item>
</dt_array>
</item>
<item key="maximum">10</item>
</dt_assoc>
</item>
<item key="lookup">
<dt_assoc>
<item key="tlds">
<dt_array>
<item key="0">.com</item>
</dt_array>
</item>
</dt_assoc>
</item>
</dt_assoc>
</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

307

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="response_text">Command completed
successfully</item>
<item key="is_success">1</item>
<item key="response_code">200</item>
<item key="attributes">
<dt_assoc>
<item key="lookup">
<dt_assoc>
<item key="count">1</item>
<item key="response_text"/>
<item key="response_code">0</item>
<item key="is_success">1</item>
<item key="items">
<dt_array>
<item key="0">
<dt_assoc>
<item key="domain">smith.com</item>
<item
key="status">undetermined</item>
</dt_assoc>
</item>
</dt_array>
</item>
</dt_assoc>
308

</item>
<item key="suggestion">
<dt_assoc>
<item key="count">10</item>
<item key="response_text"/>
<item key="response_code">0</item>
<item key="is_success">1</item>
<item key="items">
<dt_array>
<item key="0">
<dt_assoc>
<item key="domain">smithmail.com</item>
<item key="status">taken</item>
</dt_assoc>
</item>
<item key="1">
<dt_assoc>
<item
key="domain">smithfamily.com</item>
<item key="status">taken</item>
</dt_assoc>
</item>
<item key="2">
<dt_assoc>
<item
key="domain">smithslive.com</item>
<item key="status">taken</item>
</dt_assoc>
</item>
...
</dt_array>
</item>
</dt_assoc>
</item>
</dt_assoc>
309

</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

Example 6
For lookup, suggestion, premium, and personal names with suggestion
limited to .COM, .NET, .ORG, and .IN, in English, German, Italian, and
Spanish, with the command run time limited to 0.4 seconds.

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'>name_suggest</item>
<item key='object'>domain</item>
<item key='attributes'>
<dt_assoc>
<item key='searchstring'>search string</item>
<item key='max_wait_time'>0.4</item>
<item key='languages'>
<dt_array>
<item key='0'>en</item>
<item key='1'>de</item>
<item key='2'>it</item>
<item key='3'>es</item>
</dt_array>
</item>
<item key='tlds'>
310

<dt_array>
<item key='0'>.com</item>
<item key='1'>.net</item>
<item key='2'>.org</item>
<item key='3'>.in</item>
</dt_array>
</item>
<item key='services'>
<dt_array>
<item key='0'>lookup</item>
<item key='1'>suggestion</item>
<item key='2'>premium</item>
<item key='3'>personal_names</item>
</dt_array>
</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

Response
The results were in the specified time; however, not all lookup results are
complete. Premium name results were returned but suggestion and personal
names could not be returned in the specified time. The returned unique_key
allows you to resubmit the command.
<?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>
311

<item key='protocol'>XCP</item>
<item key='action'>REPLY</item>
<item key='response_text'>Command completed successfully</item>
<item key='response_code'>200</item>
<item key='is_success'>1</item>
<item key='is_search_completed'>0</item>
<item key='search_key'>vgL2FeBzZ8JuS5lIluIEYhDc7Vg</item>
<item key='attributes'>
<dt_assoc>
<item key='lookup'>
<dt_assoc>
<item key='count'>84</item>
<item key='response_text'>Command completed
successfully.</item>
<item key='response_code'>200</item>
<item key='is_success'>1</item>
<item key='items'>
<dt_array>
<item key='0'>
<dt_assoc>
<item key='domain'>searchstring.com</item>
<item key='status'>taken</item>
</dt_assoc>
</item>
<item key='1'>
<dt_assoc>
<item key='domain'>searchstring.net</item>
<item key='status'>available</item>
</dt_assoc>
</item>
<item key='2'>
<dt_assoc>
<item key='domain'>searchstring.org</item>
<item key='status'>available</item>
</dt_assoc>
312

</item>
<item key='3'>
<dt_assoc>
<item key='domain'>searchstring.in</item>
<item key='status'>undetermined</item>
</dt_assoc>
</item>
...
</dt_array>
</item>
</dt_assoc>
</item>
<item key='premium'>
<dt_assoc>
<item key='count'>20</item>
<item key='response_text'>Command Successful</item>
<item key='response_code'>200</item>
<item key='is_success'>1</item>
<item key='items'>
<dt_array>
<item key='0'>
<dt_assoc>
<item key='domain'>badmintonstring.com</item>
<item key='status'>available</item>
<item key='price'>1349.00</item>
</dt_assoc>
</item>
<item key='1'>
<dt_assoc>
<item key='domain'>cheapstring.com</item>
<item key='status'>available</item>
<item key='price'>1549.00</item>
</dt_assoc>
</item>
<item key='2'>
313

<dt_assoc>
<item key='domain'>elasticstring.com</item>
<item key='status'>available</item>
<item key='price'>13998.00</item>
</dt_assoc>
</item>
...
</dt_array>
</item>
</dt_assoc>
</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

Example 7
Resubmits the previously run name_suggest command which did not return
complete lookup results during the specified max_wait_time. The command
can run for a maximum of 0.7 seconds.

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'>name_suggest</item>
<item key='object'>DOMAIN</item>
314

<item key='attributes'>
<dt_assoc>
<item key='search_key'>vgL2FeBzZ8JuS5lIluIEYhDc7Vg</item>
<item key='max_wait_time'>0.7</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

Response
Complete results for lookup are returned as well as results for suggestion,
premium, and personal names.
<?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='response_text'>Command completed successfully</item>
<item key='response_code'>200</item>
<item key='is_success'>1</item>
<item key='is_search_completed'>1</item>
<item key='attributes'>
<dt_assoc>
<item key='lookup'>
<dt_assoc>
<item key='count'>84</item>
<item key='response_text'>Command completed
315

successfully.</item>
<item key='response_code'>200</item>
<item key='is_success'>1</item>
<item key='items'>
<dt_array>
<item key='0'>
<dt_assoc>
<item key='domain'>searchstring.com</item>
<item key='status'>taken</item>
</dt_assoc>
</item>
<item key='1'>
<dt_assoc>
<item key='domain'>searchstring.net</item>
<item key='status'>available</item>
</dt_assoc>
</item>
<item key='2'>
<dt_assoc>
<item key='domain'>searchstring.org</item>
<item key='status'>available</item>
</dt_assoc>
</item>
<item key='3'>
<dt_assoc>
<item key='domain'>searchstring.in</item>
<item key='status'>undetermined</item>
</dt_assoc>
</item>
...
</dt_array>
</item>
</dt_assoc>
</item>
<item key='premium'>
316

<dt_assoc>
<item key='count'>20</item>
<item key='response_text'>Command Successful</item>
<item key='response_code'>200</item>
<item key='is_success'>1</item>
<item key='items'>
<dt_array>
<item key='0'>
<dt_assoc>
<item key='domain'>badmintonstring.com</item>
<item key='status'>available</item>
<item key='price'>1349.00</item>
</dt_assoc>
</item>
<item key='1'>
<dt_assoc>
<item key='domain'>cheapstring.com</item>
<item key='status'>available</item>
<item key='price'>1549.00</item>
</dt_assoc>
</item>
<item key='2'>
<dt_assoc>
<item key='domain'>elasticstring.com</item>
<item key='status'>available</item>
<item key='price'>13998.00</item>
</dt_assoc>
</item>
...
</dt_array>
</item>
</dt_assoc>
</item>
<item key='personal_names'>
<dt_assoc>
317

<item key='count'>6</item>
<item key='response_text'>Command completed
successfully.</item>
<item key='response_code'>200</item>
<item key='is_success'>1</item>
<item key='items'>
<dt_array>
<item key='0'>
<dt_assoc>
<item key='domain'>search.stringham.com</item>
<item key='status'>available</item>
</dt_assoc>
</item>
<item key='1'>
<dt_assoc>
<item key='domain'>search.stringhini.com</item>
<item key='status'>available</item>
</dt_assoc>
</item>
<item key='2'>
<dt_assoc>
<item
key='domain'>search.stringfield.com</item>
<item key='status'>available</item>
</dt_assoc>
</item>
...
</dt_array>
</item>
</dt_assoc>
</item>
<item key='suggestion'>
<dt_assoc>
<item key='count'>50</item>
<item key='response_text'>Command Successful</item>
<item key='response_code'>200</item>
318

<item key='is_success'>1</item>
<item key='items'>
<dt_array>
<item key='0'>
<dt_assoc>
<item
key='domain'>amazonsearchstring.com</item>
<item key='status'>available</item>
</dt_assoc>
</item>
<item key='1'>
<dt_assoc>
<item
key='domain'>archivesearchstring.com</item>
<item key='status'>available</item>
</dt_assoc>
</item>
<item key='2'>
<dt_assoc>
<item key='domain'>briefsearchstring.com</item>
<item key='status'>available</item>
</dt_assoc>
</item>
...
</dt_array>
</item>
</dt_assoc>
</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

319

Example 8
For premium domains, limited to .COM and .NET names that cost between
$100 and $10000, maximum 10 suggestions returned.

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='action'>name_suggest</item>
<item key='object'>domain</item>
<item key='protocol'>XCP</item>
<item key='attributes'>
<dt_assoc>
<item key='service_override'>
<dt_assoc>
<item key='premium'>
<dt_assoc>
<item key='tlds'>
<dt_array>
<item key='0'>.com</item>
<item key='1'>.net</item>
</dt_array>
</item>
<item key='maximum'>10</item>
<item key='price_min'>100</item>
<item key='price_max'>10000</item>
</dt_assoc>
</item>
</dt_assoc>
320

</item>
<item key='services'>
<dt_array>
<item key='0'>premium</item>
</dt_array>
</item>
<item key='searchstring'>computerstore</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='response_code'>200</item>
<item key='is_success'>1</item>
<item key='response_text'>Command completed successfully</item>
<item key='is_search_completed'>1</item>
<item key='attributes'>
<dt_assoc>
<item key='premium'>
<dt_assoc>
<item key='count'>2</item>
<item key='response_text'>Command Successful</item>
321

<item key='response_code'>200</item>
<item key='items'>
<dt_array>
<item key='0'>
<dt_assoc>
<item key='domain'>childhoodneglect.com</item>
<item key='status'>available</item>
<item key='price'>499.00</item>
</dt_assoc>
</item>
<item key='1'>
<dt_assoc>
<item key='domain'>child-neglect.com</item>
<item key='status'>available</item>
<item key='price'>499.00</item>
</dt_assoc>
</item>
</dt_array>
</item>
<item key='is_success'>1</item>
</dt_assoc>
</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

Example 9
Lookup for one of the new TLDs.

Request
<?xml version='1.0' encoding='UTF-8'?> <OPS_envelope>
<header>
<version>0.9</version>
322

<msg_type>standard</msg_type>
</header>
<body>
<data_block>
<dt_assoc>
<item key='action'>name_suggest</item>
<item key='object'>domain</item>
<item key='protocol'>XCP</item>
<item key='attributes'>
<dt_assoc>
<item key='services'>
<dt_array>
<item key='0'>lookup</item>
</dt_array>
</item>
<item key='searchstring'>example</item>
<item key='tlds'>
<dt_array>
<item key='0'>guru</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>
323

<body>
<data_block>
<dt_assoc>
<item key='protocol'>XCP</item>
<item key='action'>REPLY</item>
<item key='response_code'>200</item>
<item key='is_success'>1</item>
<item key='request_response_time'>0.065</item>
<item key='response_text'>Command completed
successfully</item>
<item key='is_search_completed'>1</item>
<item key='attributes'>
<dt_assoc>
<item key='lookup'>
<dt_assoc>
<item key='count'>1</item>
<item key='response_text'>Command completed
successfully.</item>
<item key='is_success'>1</item>
<item key='response_code'>200</item>
<item key='items'>
<dt_array>
<item key='0'>
<dt_assoc>
<item key='domain'>example.guru</item>
<item key='status'>available</item>
<item key='has_claim'>1</item>
</dt_assoc>
</item>
</dt_array>
</item>
</dt_assoc>
</item>
</dt_assoc>
</item>
</dt_assoc>
324

</data_block>
</body>
</OPS_envelope>

Example 10
For premium, premium_brokered_transfer, and premium_make_offer
domains, limited to .COM, .NET, .ORG, and .DE names.

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">NAME_SUGGEST</item>
<item key="object">DOMAIN</item>
<item key="attributes">
<dt_assoc>
<item key="searchstring">testdomain</item>
<item key="tlds">
<dt_array>
<item key="0">.com</item>
<item key="1">.net</item>
<item key="2">.org</item>
<item key="3">.de</item>
</dt_array>
</item>
<item key="services">
<dt_array>
<item key="0">premium</item>
325

item key="1">premium_make_offer</item>
<item key="2">premium_brokered_transfer</item>
<item key="3">lookup</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="response_code">200</item>
<item key="is_success">1</item>
<item key="request_response_time">1.960</item>
<item key="response_text">Command completed successfully</item>
<item key="is_search_completed">1</item>
<item key="attributes">
<dt_assoc>
<item key="lookup">
<dt_assoc>
<item key="count">4</item>
<item key="response_text">Command completed successfully.</item>
326

<item key="response_code">200</item>
<item key="is_success">1</item>
<item key="items">
<dt_array>
<item key="0">
<dt_assoc>
<item key="domain">testdomain.com</item>
<item key="status">taken</item>
</dt_assoc>
</item>
<item key="1">
<dt_assoc>
<item key="domain">testdomain.net</item>
<item key="status">taken</item>
</dt_assoc>
</item>
<item key="2">
<dt_assoc>
<item key="domain">testdomain.org</item>
<item key="status">taken</item>
</dt_assoc>
</item>
<item key="3">
<dt_assoc>
<item key="domain">testdomain.de</item>
<item key="status">taken</item>
</dt_assoc>
</item>
</dt_array>
</item>
</dt_assoc>
</item>
<item key="premium_brokered_transfer">
<dt_assoc>
<item key="count">5</item>
327

<item key="response_text">Command Successful</item>


<item key="response_code">200</item>
<item key="items">
<dt_array>
<item key="0">
<dt_assoc>
<item key="domain">testdomain-ast-2606349.net</item>
<item key="status">available</item>
<item key="price">1150.00</item>
</dt_assoc>
</item>
<item key="1">
<dt_assoc>
<item key="domain">testdomain-ast-2606349.org</item>
<item key="status">available</item>
<item key="price">1150.00</item>
</dt_assoc>
</item>
<item key="2">
<dt_assoc>
<item key="domain">testdomain2-ast-2606349.com</item>
<item key="status">available</item>
<item key="price">1150.00</item>
</dt_assoc>
</item>
<item key="3">
<dt_assoc>
<item key="domain">testdomain2-ast-2606349.net</item>
<item key="status">available</item>
<item key="price">1150.00</item>
</dt_assoc>
</item>
<item key="4">
<dt_assoc>
<item key="domain">testdomain2-ast-2606349.org</item>
328

<item key="status">available</item>
<item key="price">1150.00</item>
</dt_assoc>
</item>
</dt_array>
</item>
</dt_assoc>
</item>
<item key="premium_make_offer">
<dt_assoc>
<item key="count">3</item>
<item key="response_text">Command Successful</item>
<item key="response_code">200</item>
<item key="items">
<dt_array>
<item key="0">
<dt_assoc>
<item key="domain">testdomain-mo-2606349.com</item>
<item key="status">available</item>
<item key="price">0.00</item>
<item
key="third_party_offer_url">http://www.sedo.com/search/details.php4?
language=us&partnerid=316601&domain=testdomain-mo-2606349.com</item>
</dt_assoc>
</item>
<item key="1">
<dt_assoc>
<item key="domain">testdomain-mo-2606349.net</item>
<item key="status">available</item>
<item key="price">0.00</item>
<item
key="third_party_offer_url">http://www.sedo.com/search/details.php4?
language=us&partnerid=316601&domain=testdomain-mo-2606349.net</item>
</dt_assoc>
</item>
<item key="2">
<dt_assoc>
329

<item key="domain">testdomain-mo-2606349.org</item>
<item key="status">available</item>
<item key="price">0.00</item>
<item
key="third_party_offer_url">http://www.sedo.com/search/details.php4?
language=us&partnerid=316601&domain=testdomain-mo-2606349.org</item>
</dt_assoc>
</item>
</dt_array>
</item>
</dt_assoc>
</item>
<item key="premium">
<dt_assoc>
<item key="count">12</item>
<item key="response_text">Command Successful</item>
<item key="response_code">200</item>
<item key="is_success">1</item>
<item key="items">
<dt_array>
<item key="0">
<dt_assoc>
<item key="domain">testdomain-2606349.com</item>
<item key="status">available</item>
<item key="price">1150.00</item>
</dt_assoc>
</item>
<item key="1">
<dt_assoc>
<item key="domain">testdomain-2606349.net</item>
<item key="status">available</item>
<item key="price">1150.00</item>
</dt_assoc>
</item>
<item key="2">
<dt_assoc>
330

<item key="domain">testdomain-2606349.org</item>
<item key="status">available</item>
<item key="price">1150.00</item>
</dt_assoc>
</item>
<item key="3">
<dt_assoc>
<item key="domain">testdomain2-2606349.com</item>
<item key="status">available</item>
<item key="price">1150.00</item>
</dt_assoc>
</item>
<item key="4">
<dt_assoc>
<item key="domain">testdomain2-2606349.net</item>
<item key="status">available</item>
<item key="price">1150.00</item>
</dt_assoc>
</item>
<item key="5">
<dt_assoc>
<item key="domain">testdomain2-2606349.org</item>
<item key="status">available</item>
<item key="price">1150.00</item>
</dt_assoc>
</item>
<item key="6">
<dt_assoc>
<item key="domain">moviesite.org</item>
<item key="status">available</item>
<item key="price">749.00</item>
</dt_assoc>
</item>
<item key="7">
<dt_assoc>
331

<item key="domain">testfax.com</item>
<item key="status">available</item>
<item key="price">2449.00</item>
</dt_assoc>
</item>
<item key="8">
<dt_assoc>
<item key="domain">testdsl.com</item>
<item key="status">available</item>
<item key="price">1849.00</item>
</dt_assoc>
</item>
<item key="9">
<dt_assoc>
<item key="domain">testact.com</item>
<item key="status">available</item>
<item key="price">2249.00</item>
</dt_assoc>
</item>
<item key="10">
<dt_assoc>
<item key="domain">religiontest.com</item>
<item key="status">available</item>
<item key="price">699.00</item>
</dt_assoc>
</item>
<item key="11">
<dt_assoc>
<item key="domain">psychopathtest.com</item>
<item key="status">available</item>
<item key="price">699.00</item>
</dt_assoc>
</item>
</dt_array>
</item>
332

</dt_assoc>
</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

333

uk_get_blocker_contact
Description
Action & object
action = uk_get_blocker_contact
object = domain

Usage
Until June 10, 2019, if you want to register an available second level .UK
domain name, and the name is already registered as a third level .UK domain
(for example. .co.uk or .org.uk), the owner contact information for the
second level .UK name must be an exact match to the owner contact
information of the equivalent third level .UK domain name.
This command checks whether the specified domain name is registered as a
third level .UK domain (for example. .co.uk or .org.uk) with the same
registrar and reseller, and if so, returns the owner contact details.

Request parameters for uk_get_blocker_contact


Standard parameters
action = uk_get_blocker_contact
object = domain
attributes

Attributes
Parameters within the attributes associative array are described below.
Parameter
name

Obligation

Definition/Value

domain

Required

The second level domain name, including the .uk


extension.

Response parameters for uk_get_blocker_contact


Standard parameters
action = reply
object = domain

334

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
The owner contact details for the third level domain.

Examples for uk_get_blocker_contact


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="object">DOMAIN</item>
<item key="action">UK_GET_BLOCKER_CONTACT</item>
<item key="attributes">
<dt_assoc>
<item key="domain">example.uk</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

335

Response
If no equivalent third level domain is registered with the same
registrar and reseller
<?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">DOMAIN</item>
<item key="response_text">There is no domain blocking
example.uk</item>
<item key="response_code">200</item>
<item key="is_success">1</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

If there is an equivalent domain name registered under the same


registrar and reseller
<?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>
336

<item key="action">REPLY</item>
<item key="object">DOMAIN</item>
<item key="response_text">Command Successfully Completed</item>
<item key="response_code">200</item>
<item key="attributes">
<dt_assoc>
<item key="first_name">Spencer</item>
<item key="last_name">Gibbons</item>
<item key="address1">96 Mowat Ave</item>
<item key="address2"></item>
<item key="address3"></item>
<item key="city">Bristol</item>
<item key="state"></item>
<item key="country">GB</item>
<item key="postal_code">BS1 4AW </item>
<item key="uk_whois_opt">N</item>
<item key="org_name">Spencer Gibbons</item>
<item key="phone">+44.2075551234</item>
<item key="registrant_type">IND</item>
<item key="email">foo@gmail.com</item>
<item key="blocker">example.co.uk</item>
</dt_assoc>
</item>
<item key="is_success">1</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

If the equivalent domain name is not registered with the same


registrar and reseller
<?xml version='1.0' encoding="UTF-8" standalone="no" ?>
<!DOCTYPE OPS_envelope SYSTEM "ops.dtd">
<OPS_envelope>
<header>
<version>0.9</version>
337

</header>
<body>
<data_block>
<dt_assoc>
<item key="protocol">XCP</item>
<item key="object">DOMAIN</item>
<item key="action">REPLY</item>
<item key="is_success">1</item>
<item key="response_text">Cannot get contact details for
example.co.uk which is blocking registration of example.uk because
example.co.uk is not with this registrar or not with this
reseller</item>
<item key="response_code">465</item>
<item key="attributes">
<dt_assoc>
<item key="blocker">example.co.uk</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

If the domain name is not available


<?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">DOMAIN</item>
<item key="response_text">Domain name not available</item>

338

<item key="response_code">211</item>
<item key="is_success">1</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

339

Provisioning Commands
This section contains the following commands:

activate (domain)Activates a parked .DE domain.


cancel_active_processDeprecated. Cancels an active .CA order.
cancel_orderCancels a Trust Service order.
cancel_free_trialCancel a Trust Service 30 day free trial order.
cancel_pending_ordersCancels pending or declined orders.
modify(domain)Changes information associated with a domain.
parsecsrParses the CSR and identifies its data elements.
process_pendingProcesses or cancels pending orders.
query_approver_listQueries the list of approvers for the Trust Service
that is associated with the specified domain.
query_queued_requestQueries the status of a queued request.
redeem (domain)Redeems a .COM, .NET, .CA, .IT, or .NL domain
that has expired but is within the redemption grace period.
renew(domain)Renews a domain.
request_on_demand_scanAsks Symantec to rescan your system.
resendapproveemailResends the Approver email.
resend_cert_emailResends the certificate email address.
revoke (domain)Removes the domain at the registry.
send_CIRA_approval_emailDeprecated. Resends CIRA registration
approval email.
send_registrant_verification_emailSends or resends the
verification email to the registrant.
set_domain_affiliate_idAssigns an affiliate id to a domain.
sw_register(domain)Submits a new registration or transfer
order.
update_all_infoSubmits a domain-information update for .DK domains.
update_contactsSubmits a domain-contact information update to the
OpenSRS system.
update_orderSubmits a Trust Service order update to the OpenSRS
system.
update_productUpdates the Symantec Trust Service product to
enable or disable the Symantec Trust Seal and/or the Symantec
Search-in-Seal.

340

activate (domain)
Description
Action & object
action = activate
object = domain

Usage
Activates a parked .DE domain. The .DE registry requires a domain to be
parked on a valid nameserver. The domain can be parked prior to the
registration, or within thirty days of the successful registration. Use this
command within thirty days of registering the domain and after you park the
domain.

Request parameters for activate (domain)


Standard parameters
action = activate
object = domain
cookie = cookie created to access OpenSRS, see "set(cookie)"
attributes

Attributes
Parameters within the attributes associative array are described below.
Parameter name

Obligation

Definition/Value

domain

Required if
cookie is not
submitted

The .DE domain that you want to activate

Response parameters for activate (domain)


Standard parameters
action = activate
object = domain
is_success = a Boolean is returned, indicating success or failure of the

request

341

response_code = response code indicating outcome of the request


response_text = message describing the outcome of the request

Examples for activate (domain)


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">ACTIVATE</item>
<item key="object">DOMAIN</item>
<item key="attributes">
<item key="registrant_ip">10.0.11.253</item>
<dt_assoc>
<item key="domain">example.de</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>

342

<body>
<data_block>
<dt_assoc>
<item key='protocol'>XCP</item>
<item key='action'>REPLY</item>
<item key='object'>DOMAIN</item>
<item key='is_success'>0</item>
<item key='response_code'>437</item>
<item key='response_text'>A request is currently waiting on
this domain</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

343

cancel_active_process (.CA order)


Description
Action & object
action = cancel_active_process
object = domain

Usage
Cancels an active .CA order in OpenSRS. This command is useful if you have
placed a .CA order with OpenSRS and subsequently cancelled it, or were
unable to confirm the order with CIRA, but the OpenSRS system has not yet
been updated and still shows the order as active. In such a situation, you
cannot use OpenSRS to resubmit a revised order for the same .CA domain
until the original .CA order is cancelled with OpenSRS. You can either wait for
OpenSRS to be updated with CIRA's records, or you can cancel the order in
OpenSRS using this command. The cancel .CA order functionality is also
available in the Reseller Web Interface (RWI).
Note: OpenSRS synchronizes with CIRA once a day, during non-business
hours, EST, including weekends.

Important: This command has been deprecated. If this command is part of


your current integration, it will continue to work; however, the results will be
ignored. The response will return 'is_success' => '0'.

Request parameters for cancel_active_process


Standard parameters
action = cancel_active_process
object = domain
attributes

Attributes
Parameters within the attributes associative array are described below.
Parameter
name

Obligation

Definition/Value

order_id

Optional - either order-id or


domain must be specified.

The ID of the order to be


cancelled.

344

Response parameters for cancel_active_process


Standard parameters
action = reply
object = domain
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

Examples for cancel_active_process


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">cancel_active_process</item>
<item key="object">domain</item>
<item key="attributes">
<dt_assoc>
<item key="order_id">2099</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

345

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">DOMAIN</item>
<item key="is_success">1</item>
<item key="response_code">200</item>
<item key="response_text">Cancellation successful</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

346

cancel_free_trial
Description
Action & object
action = cancel_free_trial
object = trust_service

Usage
Cancel a Trust Service 30 day free trial order.
Free trials are available for the following Trust Service products:
GeoTrustTrue BusinessID with EV
SymantecSecureSite, Secure Site Pro, Secure Site with EV, and Secure
Site Pro with EV
TRUSTeHosted Privacy Policy (HPP) and Privacy Policy with Seal (TPS)
You can cancel the free trial at any time during the 30 day free trial period
without incurring a charge. If the product is not cancelled by the end of the
30 day period, the product is immediately activated, and the customer is
charged for the term that they selected when they placed the order. The
expiry date is calculated from the date that the paid term begins, not the
date that the free trial began.
For TRUSTe, the cancellation is processed immediately, but when GeoTrust
and Symantec require customer approval. The supplier sends the customer
an email asking them to approve the cancellation. Once the cancellation is
approved, the status of the order changes to Revoked/Declined.
Note: When you cancel a free trial, you will not be able to order another
Trust Service order for that domain until the full 30 days of the free trial
period have passed. For TRUSTe, a call needs to be made to the supplier to
get the domain unlocked.

Request parameters for cancel_free_trial


Standard parameters
Action & object
action = cancel_order
object = trust_service
attributes

347

Attributes
Parameters within the attributes associative array are described below.
Note: You must specify at least one of these parameters.

Parameter name

Obligation

Definition/Value

order_id

Optional

The Trust Service order ID number.

product_id

Optional

The Trust Service product ID number.

Response parameters for cancel_free_trial


Standard parameters
action = reply
object = trust_service
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

domain

Returned if
is_success =
true

The domain with which the Trust Service


order is associated..

product_id

Returned if
is_success =
true

The Trust Service product ID number.

state

Returned if
is_success =
true

The state of the order. Allowed values are:


approver-confirmedOwner has
confirmed the domain vetted
certificate.
awaiting-approvalOrder processed
successfully; waiting for supplier
approval.
cancelledPending order was
cancelled.

348

Obligation

Parameter
name

Definition/Value

completedOrder is complete.
declinedOrder cancelled after it was
processed or declined by the supplier.
in-progressOrder is in progress.
pendingOrder saved as pending.

Examples for cancel_free_trial


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">cancel_free_trial</item>
<item key="object">trust_service</item>
<item key="attributes">
<dt_assoc>
<item key="order_id">7712</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

Response
<?xml version='1.0' encoding="UTF-8" standalone="no" ?>

349

<!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">TRUST_SERVICE</item>
<item key="response_text">Command completed successfully.</item>
<item key="response_code">200</item>
<item key="attributes">
<dt_assoc>
<item key="domain">1320701286testing.com</item>
<item key="product_id">1848</item>
<item key="state">revoked</item>
</dt_assoc>
</item>
<item key="is_success">1</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

350

cancel_order
Description
Action & object
action = cancel_order
object = trust_service

Usage
Cancel a Trust Service order.

Request parameters for cancel_order


Description
Action & object
action = cancel_order
object = trust_service

Attributes
Parameters within the attributes associative array are described below.
Parameter name

Obligation

Definition/Value

order_id

Required

The ID of the order.

Response parameters for cancel_order


Standard parameters
action = reply
object = trust_service
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

351

Attributes
If the request is successful, the attributes associative array may include the
following:
Parameter
name

Obligation

Definition/Value

domain

Returned if
The domain with which the Trust Service order is
is_success = associated.
true

order_id

Returned if
The ID of the order.
is_success =
true

state

Returned if
is_success =
true

The state of the order. Allowed values are:


approver-confirmedOwner has
confirmed the domain vetted certificate.
awaiting-approvalOrder processed
successfully; waiting for supplier approval.
cancelledPending order was cancelled.
completedOrder is complete.
declinedOrder cancelled after it was
processed or declined by the supplier.
in-progressOrder is in progress.
pendingOrder saved as pending.

Examples for cancel_order


Request
<?xml version='1.0' encoding='UTF-8'?>
<!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'>cancel_order</item>

352

<item key='object'>trust_service</item>
<item key='attributes'>
<dt_assoc>
<item key='order_id'>578</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'>TRUST_SERVICE</item>
<item key='response_text'>Command completed
successfully.</item>
<item key='is_success'>1</item>
<item key='response_code'>200</item>
<item key='attributes'>
<dt_assoc>
<item key='domain'>example.org</item>
<item key='order_id'>578</item>
<item key='state'>declined</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>

353

</body>
</OPS_envelope>

354

cancel_pending_orders
Description
Action & object
action = cancel_pending_orders
object = order

Usage
Cancels orders with a status of pending or declined.

Request parameters for cancel_pending_orders


Standard parameters
action = cancel_pending_orders
object = order
attributes

Attributes
Parameters within the attributes associative array are described below.
Parameter
name

Obligation

Definition/Value

status

Optional

Lists the status for which to cancel orders, either


pending or declined. Valid values are declined or
pending. The default is pending.

to_date

Required

Specify the date, in UNIX (epoch) time before which


to cancel orders. Orders put in pending or declined
state on this date and earlier are cancelled.

Response parameters for cancel_pending_orders


Standard parameters
action = reply
object = order
is_success = a Boolean is returned, indicating success or failure of the

request

response_code = response code indicating outcome of the request

355

response_text = message describing the outcome of the request


attributes

Attributes
If the request is successful, the attributes associative array may include the
following:
Parameter
name

Obligation

Definition/Value

cancelled

Returned if
Contains associative arrays identifying orders that
is_success = were cancelled. Valid values are domain,
true
reg_type, and id.
For more information, see the Cancelled table
below.
Returned if
The number of orders that were cancelled.
is_success =
true

total

Cancelled
Parameters within the cancelled associative array are described below.
Parameter
name

Obligation

Definition/Value

domain

Always
returned

The domain name of the cancelled order.

id

Always
returned

The order ID of the cancelled order.

reg_type

Always
returned

The type of order that was cancelled. Valid values


are new, transfer, and renewal.

Examples for cancel_pending_orders


Request
<?xml version='1.0' encoding='UTF-8' standalone='no'?>
<!DOCTYPE OPS_envelope SYSTEM 'ops.dtd'>
<OPS_envelope>
<header>
<version>0.9</version>

356

</header>
<body>
<data_block>
<dt_assoc>
<item key="protocol">XCP</item>
<item key="action">cancel_pending_orders</item>
<item key="object">order</item>
<item key="attributes">
<dt_assoc>
<item key="to_date">1115228160</item>
<item key="status">
<dt_array>
<item key="0">declined</item>
<item key="1">pending</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>

357

<item key="object">ORDER</item>
<item key="is_success">1</item>
<item key="response_code">200</item>
<item key="response_text">Command successful</item>
<item key="attributes">
<dt_assoc>
<item key="total">2</item>
<item key="cancelled">
<dt_array>
<item key="0">
<dt_assoc>
<item key="reg_type">new</item>
<item key="id">5261</item>
<item key="domain">example.de</item>
</dt_assoc>
</item>
<item key="1">
<dt_assoc>
<item key="reg_type">transfer</item>
<item key="id">5530</item>
<item key="domain">example.com</item>
</dt_assoc>
</item>
</dt_array>
</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

358

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'>RESELLER</item>
<item key='response_text'>Provisioning of reseller
reseller4574389 is in progress.</item>
<item key='attributes'>
<dt_assoc>
<item key='signup_reseller_id'>842</item>
</dt_assoc>
</item>
<item key='response_code'>200</item>
<item key='is_success'>1</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

359

create_token
Description
Action & object
action = create_token
object = trust_service

Usage
Creates a SiteLock or TRUSTe account so that users can log in and manage
the Trust Service product. To use this command, the order cannot be in the
pending state.
Important: The resulting URL is valid for only a limited period of time that
may be as short as five minutes.

Request parameters for create_token


Standard parameters
action = create_token
object = trust_service
attributes

Attributes
Parameters within the attributes associative array are described below.
Note: You must enter at least one of these parameters.

Parameter
name

Obligation

Definition/Value

order_id

Optional

The Trust Service order ID number.

product_id

Optional

The Trust Service product ID number.

360

Response parameters for create_token


Standard parameters
action = reply
object = trust_service
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

login_url

Returned if
is_success =
true

The The URL where the user can log in to manage


the SiteLock or TRUSTe product.

Examples for create_token


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'>create_token</item>
<item key='object'>trust_service</item>

361

<item key='attributes'>
<dt_assoc>
<item key='order_id'>50094</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'>TRUST_SERVICE</item>
<item key='is_success'>1</item>
<item key='response_text'>Command completed
successfully.</item>
<item key='response_code'>200</item>
<item key='attributes'>
<dt_assoc>
<item key='login_url'>https://www.sitelock.com/rlogin.php?
token=ccc038d24c91a7a67d0a12f46f29a260</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

362

modify (domain)
Description
Action & object
action = modify
object = domain

Usage
Changes information associated with a domain, such as contact info. The
action request message is different depending on the type of modification
being made, and is shown separately for each type.
This command also allows you to set an auto-renew flag for the domain from
which you logged in. If you are using the affected_domains option, you can
set the renewal action flags for all domains in the user's profile.

Request parameters for modify (domain)


Standard parameters
action = modify
object = domain
registrant_ip = valid IP address of the registrant (optional)
cookie = cookie created to access OpenSRS, see "set(cookie)"
attributes
Note: The modify (domain) command may be used without end-user credentials
when data= change_ips_tag, contact_info, expire_action, forwarding_email,
nameserver_list, rsp_whois_info, uk_whois_opt, whois_privacy_state, or
tld_data.

Attributes
Parameters within the attributes associative array are described below.
Parameter
name

Obligation

Definition/Value

affect_domains

Required

Flag indicating the domains to which to apply


the change.

0Change applies only to the specified


domain.

1Change applies to all domains linked

363

Parameter
name

Obligation

Definition/Value
to this profile.

data

Required

Type of data. Allowed values are:

auto_renew Deprecated. Use the


expire_action value instead.

ca_whois_display_settingFor
changes to the CIRA Whois Privacy
setting for .CA domains. Only allowed for
individual registrants, including Canadian
citizens, Permanent residents, Legal
representatives, and Aboriginal peoples.

change_ips_tag For transfers of .UK


domains between registrars. The
domain's domain tag must be changed
to that of the gaining registrar in order to
transfer a .UK domain.

cira_registrantUsed to change the


owner of a .CA domain.
Warning: When you include the
cira_registrant parameter, you transfer
the ownership of a domain to the
specified contact.

contact_info For contact information


changes.

descr Deprecated. For changes to


.DE owner contact.

domain_auth_info For changes to


domain-auth-info.

expire_action For changes to domain


renewal action flags. Requires both
auto_renew and let_expire flags to be
specified.

forwarding_email For forwarding


feature on .NAME domains (cannot be
set if it was missing from the capabilities
in the response to the 'Get User Info'.).

it_whois_display_setting Used to
enable/disable WHOIS Privacy.

nameserver_list Deprecated. Use the


advanced_update_nameservers
command instead.

parkpage_state Enables or disables


the parked pages service for a particular
domain.

status To control the lock state of the

364

Parameter
name

Obligation

Definition/Value
rsp_whois_info To control 'RSP Info in
Whois' feature
status To control the lock state of the
domain.

tld_data For changes to the tld_data


information that is required to satisfy the
regional presence and other
requirements of the registry. Used for
.ASIA, .COOP, .JOBS, .LV, .MX, .PRO,
.RO, .US, ZA; optional for .XXX.
If you submit this value, you must also
submit the tld_data array (see below).

trademarkDeprecated. Used for .CA


domains to indicate whether the
registered owner of the domain name is
the legal holder of the trademark for that
name.

uk_whois_opt Allows individuals to


activate WHOIS opt-out for a .UK
domain. The WHOIS opt-out for .UK
domains is available only to individuals
(not available to organizations). When
activated, the individual's personal
information is not returned with the
WHOIS for their .UK domain.

whois_privacy_state Used to enable


or disable WHOIS Privacy.

domain

Required if
cookie is not
submitted

The relevant domain.

tld_data

Required for
An associative array that contains additional
changes to
information required by the registry, such as the
tld_data values residency of the registrant. If you submit a
for .ASIA,
request that contains this array, you must also
.COOP, .JOBS, include data = tld_data.
.LV, .MX,
Allowed values are:
.PRO, .RO, .US,
ced_infoAn array that contains Charter
ZA; optional
Eligibility (CED) information for .ASIA
for .XXX
domains.

ipr_dataUsed to make changes to the


ICM information associated with .XXX
domains.
it_registrant_infoFor changes to the
.IT identification information.
nexusFor changes to the .US Nexus
information.
professional_dataUsed to make
changes to the professional designation365

information that is associated with the


.PRO domain.
registrant_extra_infoadditional
registrant information.
For more information see tld_data.

366

367

For data = ca_whois_display_setting


When the data parameter uses the ca_whois_display_setting value, the
following additional parameter can be used:

Attributes
Parameters within the attributes associative array are described below.
Parameter
name

Obligation

Definition/Value

display

Required

The setting for the CIRA Whois Privacy.


Allowed values are:

PRIVATEWhen a
WHOIS lookup is done on the domain name, do
not display personal information.

FULLWhen a
WHOIS lookup is done on the domain name,
display all of the data that is on the WHOIS
directory, including name, address, telephone
number and email address.

368

For data = change_ips_tag


When the data parameter uses the change_ips_tag value, the following
additional parameter can be used:

Attributes
Parameters within the attributes associative array are described below.
Parameter name

Obligation

Definition/Value

change_tag_all

Optional

Flag to change all domains on the


registrant's profile.

Parameter name

Obligation

0Change Domain Tag for specified

Definition/Value
domain only; this is the default.

1Change Domain Tag for all *.UK


domains on this profile.

domain

Required if
cookie is not
submitted

The domain whose Domain Tag is being


changed.

gaining_registrar_tag

Required

The Domain Tag of the gaining registrar.

rsp_override

Optional

Flag to enable or disable the ability of the


RSP to override the End User's Domain Tag
change settings.

0Reseller cannot override End


User's Domain Tag change settings.

1Reseller can change Domain Tag,


regardless of End User's settings.

369

For data = cira_registrant


When the data parameter uses the cira_registrant value, the following
additional parameters can be used:

Attributes
Parameters within the attributes associative array are described below.
Parameter Obligation
name

Definition/Value

address1

Optional

The new registrant's address. Maximum 64


characters.

address2

Optional

The new registrant's address. Maximum 64


characters.

address3

Optional

The new registrant's address. Maximum 64


characters.

city

Optional

The new registrant's city. Maximum 64 characters.

country

Optional

The 2 letter ISO country code.

email

Optional

Maximum 64 characters, validated according to


rfc822.

fax

Optional

Maximum 20 characters, in the format


+CCC.NNNNNNNNNNxEEEE, where C = country code,
N = phone number, and E = extension (optional).

first_name

Required

New registrant's first name.

370

Parameter Obligation
name

Definition/Value

lang

The registrant's language preference. The default is


English.

Optional

Allowed values are:

ENEnglish

FRFrench

last_name

Required

New registrant's last name.

legal_type

Required

The code that indicates the new registrant's legal


classification to satisfy CIRA's Canadian Presence
Requirement (CPR).
Allowed values are:

ABOAboriginal

ASSAssociation

CCOCanadian Corporation

CCTCanadian Citizen

EDUEducational Institution

GOVGovernment

HOPHospital

INBIndian Band

LAMLibrary, Archive, or Museum

LGRLegal Representative

MAJHer Majesty the Queen

OMKProtected by Trademarks Act

PLTPolitical Party

PRTPartnership

RESPermanent Resident

TDMTrademark Owner

TRDTrade Union

TRSTrust

org_name

Optional for
individuals

The name of the organization.

phone

Optional

Maximum 20 characters, in the format


+CCC.NNNNNNNNNNxEEEE, where C = country code,
N = phone number, and E = extension (optional).

postal_code

Optional

Maximum 16 characters.

state

Optional

A valid 2 letter code for the Canadian province:

ABAlberta

BCBritish Columbia

MBManitoba

371

Parameter Obligation
name

Definition/Value

NBNew Brunswick

NLNewfoundland and Labrador

NTNorthwest Territories

NSNova Scotia

NUNunavut

ONOntario

PEPrince Edward Island

QCQuebec

SKSaskatchewan

YTYukon

372

For data = contact_info


When the data parameter uses the contact_info value, the following
additional parameters can be used.
Note: The contact_info value is not supported for .DK. Use the
update_all_info command to change the contact information for .DK
domains.

Attributes
Parameters within the attributes associative array are described below.
Parameter
name

Obligation

Definition/Value

contact_set

Required

A hash containing the modified contact information


of a specific type:

admin

billing

owner
Note: The owner contact for .IT domains
requires three additional parameters:
entity_type, nationality_code, and
reg_code. For information about these
parameters, see .IT contact requirements.

tech

For more information about contact_set values, see


"ContactSet".

373

Parameter
name

Obligation

Definition/Value

org_name

Required

Organization name.

report_email

Optional

The End User's email address to which notification of


success or failure is sent. The notification email is
sent on behalf of the Reseller.
Note: This parameter can only be specified if
affect_domains is set to '1'

Contact_Set
You can submit different contact information for each contact type, or you
can use the also_apply_to parameter to apply the changes to other contact
types.
Parameters within the contact_set associative array are described below.
Parameter
name

Obligation

Definition/Value

also_apply_to

Optional

An array of other contact types to which you want to


apply the changes.
For example, if you want to apply the changes
indicated in the admin contact set to the owner and
tech types as well, use:
also_apply_to => ['owner', 'tech']
If only one contact type is specified and
also_apply_to is empty, update only that contact
type.
If also_apply_to is specified, but the complete
contact set for the contact types in also_apply_to
is also submitted, the complete contact set is used,
and also_apply_to is ignored.
Allowed values are:

contact information

owner Owner

admin
Administrator contact information

billing
Billing contact information
Note: This value is not supported for .IT
domains; if submitted, the command will fail.

contact information

tech Tech

374

For data = domain_auth_info


When the data parameter uses the domain_auth_info value, the following
additional parameter can be used:

Attributes
Parameters within the attributes associative array are described below.
Parameter name Obligation

Definition/Value

domain_auth_info

Domain authentication code. (For .COM,


.NET, .ORG, .INFO, .BIZ, .CA, .CN, .CO, .IN,
.ME, .MOBI, .NAME, and .US TLDs only.)

Required

For data = expire_action


When the data parameter uses the expire_action value, the following
additional parameter can be used:

Attributes
Parameters within the attributes associative array are described below.
Parameter
name

Obligation

Definition/Value

auto_renew

Required

Determines whether the domain renews


automatically.

let_expire

Required

0Do not set to auto-renew.

1Set to auto-renew.

Determines whether to allow the domain to


expire at the end of the registration term.

0Do not expire domain silently.

1Expire domain silently.

Note: This flag cannot be used for .DE


domains. To delete a .DE name or allow it to
expire, you need to complete and submit
the Domain Termination/Deletion form at
least 5 days prior to the expiry date:
http://opensrs.com/site/resources/agreeme
nts/domain-policies#de

375

For data = forwarding_email


When the data parameter uses the forwarding_email value, the following
additional parameter can be used:

Attributes
Parameters within the attributes associative array are described below.
Parameter name

Obligation

Definition/Value

forwarding_email

Required

For use with .NAME forwarding feature.

For data = it_whois_display_setting


When the data parameter uses the it_whois_display_setting value, the
following additional parameter can be used:

Attributes
Parameters within the attributes associative array are described below.
Parameter
name

Obligation

consent_for_pu Required
blishing

Definition/Value
The setting for the .IT Whois Privacy.
Allowed values are:

NWhen a
WHOIS lookup is done on the domain name, do
not display personal information. Privacy ON.

YWhen a
WHOIS lookup is done on the domain name,
display all of the data that is on the WHOIS
directory, including name, address, telephone
number and email address. Privacy OFF.

376

For data = parkpage_state


This parameter is used to enable or disable the Parked Pages service for a
particular domain. The Parked Pages service is 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 domains.
When the data parameter uses the parkpage_state value, the following
additional parameter can be used:

Attributes
Parameters within the attributes associative array are described below.
Parameter
name

Obligation

Definition/Value

domain

Required

The domain for which you want to enable or


disable Parked Pages.

state

Required

Used to enable or disable the Parked Pages service


for a domain.

onEnable Parked Pages

offDisable Parked Pages

For data = rsp_whois_info


When the data parameter uses the rsp_whois_info value, the following
additional parameter can be used:

377

Attributes
Parameters within the attributes associative array are described below.
Parameter
name

Obligation

Definition/Value

all

Required

Indicates whether the request is to be applied to


all domains in the profile.

affect_domains

flag

Required

Required

0Do not apply to all domains; this is the


default.

1Apply the request to all domains in the


profile.

Flag indicating the domains to which the change is


to be applied.

0Only change this specific domain.

1Change applies to all domains linked to


this profile.

Specifies whether to display the RSP info in Whois


query results.

YDisplay RSP info.

NDo not display RSP info.

For data = status


When the data parameter uses the status value, the following additional
parameter can be used:

Attributes
Parameters within the attributes associative array are described below.
Parameter
name

Obligation

Definition/Value

domain

Required if cookie is The relevant domain.


not submitted

lock_state

Required

Indicates whether to lock the domain.

0Unlocked

1Locked

378

For data = uk_whois_opt


When the data parameter uses the uk_whois_opt value, the following
additional parameter can be used:

Attributes
Parameters within the attributes associative array are described below.
Parameter name Obligation

Definition/Value

reg_type

Specifies whether the opt-out request is for an


individual or a foreign individual (non UK
citizen).

uk_affect_domains

uk_whois_opt

Required

Optional

Required

INDIndividual

FINDForeign Individual

Flag used to request opt-out for all domains on


registrant's profile.

0Activate WHOIS opt-out for specified


domain only; this is the default.

1Activate WHOIS opt-out for all *.UK


domains on this profile

Flag to activate WHOIS opt-out for .UK


domains. Personal information is not displayed
with WHOIS query (available for individuals
only).

YDo not make personal information


available on .UK WHOIS.

NMake personal information available


on .UK WHOIS; this is the default.

379

For data = whois_privacy_state


When the data parameter uses the whois_privacy_state value, the following
additional parameters can be used:

Attributes
Parameters within the attributes associative array are described below.
Parameter
name

Obligation

Definition/Value

affect_domains

Required

Determines whether to apply the change to all


domains in the Reseller's profile, on just the

Parameter
name

Obligation

Definition/Value
specified domain.

report_email

Optional

0Apply change to this domain only.

1Apply to all domains linked to this


profile.

The End User's email address to which notification


of success or failure is sent on behalf of the
Reseller.
Note: This parameter can only be specified if
affect_domains is set to 1.

state

Required

Used to enable or disable WHOIS Privacy. Allowed


values are enable or disable.

Note: The following values are deprecated, but


are still accepted for backward compatibility:

NDisable WHOIS Privacy

YEnable WHOIS Privacy

380

Response parameters for modify (domain)


Standard parameters
action = reply
object = domain
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

details

Returned if
is_success = true

A case-by-case description of the success or


failure of each affected domain.
The key is the name of the domain.
When you specify a contact_info
modification, you can specify that you want
the action to apply to all domains.
Because the modification may succeed or
fail on a case-by-case basis, you get a
response code for each domain that is
affected.
The key that is used to access this domain
success information is the name of the
domain itself, for example, 'mydomain.com'
or 'mydomain.co.uk'.
Each key contains a hash (described below)
that provides details on the action
performed on that domain.

encoding_type

Optional

The encoding type for this domain. For a list


of languages and codes, see AppendixC:
Encoding Types for IDNs.

response_code

Returned if
is_success = true

The response code associated with the


modification on this domain.

response_text

Returned if
is_success = true

The response text associated with the


modification on this domain

waiting_requests_ Returned if
no
is_success = true

The number of registry requests in the


waiting state.

381

Deprecated
Parameter
name

Obligation

Definition/Value

waiting_request

Deprecated

Replaced by waiting_requests_no.

Modify (domain) Examples


For data = ca_whois_display_setting
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">MODIFY</item>
<item key="object">DOMAIN</item>
<item key="cookie">M813iGXs5fNhAJYt:256158:11781</item>
<item key="registrant_ip">10.0.62.142</item>
<item key="attributes">
<dt_assoc>
<item key="data">ca_whois_display_setting</item>
<item key="display">FULL</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

382

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">DOMAIN</item>
<item key="response_text">OK</item>
<item key="response_code">200</item>
<item key="is_success">1</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

383

For data = change_ips_tag


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">MODIFY</item>
<item key="object">DOMAIN</item>
<item key="registrant_ip">10.0.11.121</item>
<item key="attributes">
<dt_assoc>
<item key="affect_domains">0</item>
<item key="data">change_ips_tag</item>
<item key="domain">example.me.uk</item>
<item key="gaining_registrar_tag">q1q1</item>
<item key="change_tag_all">0</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>

384

</header>
<body>
<data_block>
<dt_assoc>
<item key="protocol">XCP</item>
<item key="action">REPLY</item>
<item key="object">DOMAIN</item>
<item key="is_success">1</item>
<item key="response_code">200</item>
<item key="response_text">Command successfully
completed.</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

385

For data = cira_registrant


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">MODIFY</item>
<item key="object">DOMAIN</item>
<item key="cookie">sDYKUWhe8vdtc2iB:682913:27858</item>
<item key="attributes">
<dt_assoc>
<item key="data">cira_registrant</item>
<item key="first_name">Pierre</item>
<item key="last_name">Lalonde</item>
<item key="org_name">Example Inc.</item>
<item key="address1">32 Oak St.</item>
<item key="address2">Suite 100</item>
<item key="address3"/>
<item key="city">Toronto</item>
<item key="state">ON</item>
<item key="postal_code">M1M 1M1</item>
<item key="country">CA</item>
<item key="legal_type">CCT</item>
<item key="email">plalonde@example.com</item>
<item key="phone">+1.4165551212x1234</item>
<item key="fax">+1.4165551024</item>

386

<item key="lang">FR</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">DOMAIN</item>
<item key="response_text">OK</item>
<item key="response_code">200</item>
<item key="is_success">1</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

387

For data = contact_info


Example 1
In this example, only one type is specified and also_apply_to contains other
types.

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">MODIFY</item>
<item key="object">DOMAIN</item>
<item key="cookie">2121:1212</item>
<item key="registrant_ip">111.121.121.11</item>
<item key="attributes">
<dt_assoc>
<item key="data">contact_info</item>
<item key="affect_domains">0</item>
<item key="contact_set">
<dt_assoc>
<item key="also_apply_to">
<dt_array>
<item key="0">owner</item>
<item key="1">billing</item>
</dt_array>
</item>
<item key="admin">
<dt_assoc>
<item key="first_name">Adler</item>
<item key="last_name">Adams</item>

388

<item key="org_name">Example Inc.</item>


<item key="address1">32 Oak St.</item>
<item key="address2">Suite 100</item>
<item key="address3"/>
<item key="city">Santa Clara</item>
<item key="state">CA</item>
<item key="postal_code">90210</item>
<item key="country">US</item>
<item
key="phone">+1.7075551212x1812</item>
<item key="fax">+1.7075553123</item>
<item key="email">adams@example.com</item>
<item
key="url">http://www.example.com</item>
</dt_assoc>
</item>
</dt_assoc>
</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>

389

<item key="object">DOMAIN</item>
<item key="is_success">1</item>
<item key="response_code">200</item>
<item key="response_text">Modification(s) successful</item>
<item key="attributes">
<dt_assoc>
<item key="details">
<dt_assoc>
<item key="example.com">
<dt_assoc>
<item key="response_text">Contact
modification successful</item>
<item key="response_code">200</item>
</dt_assoc>
</item>
</dt_assoc>
</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

Example 2
In this example, admin and tech contact information is changed for a .CA
domain.
Note: For .CA domains when data = contact_info, instead of address1,
address2, and address3, you can specify these address attributes:
addr_office, addr_address_number, addr_street_name, addr_street_cat,
and addr_orientation .

Request
<?xml version='1.0' encoding='UTF-8' standalone='no' ?>
<!DOCTYPE OPS_envelope SYSTEM "ops.dtd">
<OPS_envelope>

390

<header>
<version>0.9</version>
</header>
<body>
<data_block>
<dt_assoc>
<item key="protocol">XCP</item>
<item key="action">MODIFY</item>
<item key="object">DOMAIN</item>
<item key="cookie">853675384:13254444</item>
<item key="registrant_ip">72.53.78.221</item>
<item key="attributes">
<dt_assoc>
<item key="affect_domains">0</item>
<item key="contact_set">
<dt_assoc>
<item key="admin">
<dt_assoc>
<item key="org_name">Example Co.</item>
<item key="first_name">Adler</item>
<item key="last_name">Adams</item>
<item key="ddress1">32 Oak Street</item>
<item key="address2">Suite 100</item>
<item key="address3"/>
<item key="city">Saskatoon</item>
<item key="state">SK</item>
<item key="country">CA</item>
<item key="postal_code">M1M1M1</item>
<item key="phone">+1/4165551212</item>
<item key="fax">+1.4165552222</item>
<item key="email">adams@example.ca</item>
<item key="language">EN</item>
</dt_assoc>
</item>
<item key="also_apply_to">
<dt_array>

391

<item key="0">tech</item>
</dt_array>
</item>
</dt_assoc>
</item>
<item key="report_email"></item>
<item key="data">contact_info</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">DOMAIN</item>
<item key="is_success">1</item>
<item key="response_code">200</item>
<item key="response_text">Modification(s) successful</item>
<item key="attributes">
<dt_assoc>
<item key="details">
<dt_assoc>
<item key="example.ca">
<dt_assoc>

392

<item key="response_text">Contact
modification successful</item>
<item key="response_code">200</item>
</dt_assoc>
</item>
</dt_assoc>
</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

Example 3
In this example, owner contact information is modified for a .IT domain.
The .IT owner contact requires three additional parameters:
nationality_code, reg_code, and entity_type.
Note: The other contact types do not require these additional parameters, so
if you change the owner contact information, and you use also_apply_to to
apply the changes to another type, for example, tech, the command will be
successful, but those additional parameters and values are ignored by the
other contact type. However, also_apply_to billing is not supported for .IT
domains, and if you submit that value, the command will fail. When the
domain owner is a person (entity_type = 1), changing the owner contact
information also changes the admin contact information as these are
considered to be the same at the Registry.

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>

393

<item key="action">MODIFY</item>
<item key="object">DOMAIN</item>
<item key="cookie">EKQygsAX2t5OqLM2:256400:25530</item>
<item key="registrant_ip">10.0.62.128</item>
<item key="attributes">
<dt_assoc>
<item key="affect_domains"></item>
<item key="report_email"></item>
<item key="data">contact_info</item>
<item key="contact_set">
<dt_assoc>
<item key="owner">
<dt_assoc>
<item key="entity_type">1</item>
<item key="nationality_code">IT</item>
<item key="first_name">Mario</item>
<item key="last_name">Segale</item>
<item key="org_name"></item>
<item key="address1">Via del Campidoglio, 1</item>
<item key="address2"></item>
<item key="address3"></item>
<item key="city">Rome</item>
<item key="state">RM</item>
<item key="country">IT</item>
<item key="postal_code">00123</item>
<item key="email">mario@example.com</item>
<item key="reg_code">SGLMRA80A01H501E</item>
<item key="phone">+39.0612345678</item>
<item key="fax"></item>
</dt_assoc>
</item>
<item key="also_apply_to"/>
</dt_assoc>
</item>
</dt_assoc>
</item>

394

</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">DOMAIN</item>
<item key="response_text">Command completed successfully</item>
<item key="is_success">1</item>
<item key="response_code">200</item>
<item key="attributes">
<dt_assoc>
<item key="details">
<dt_assoc>
<item key="example033.it">
<dt_assoc>
<item key="response_text">Command completed
successfully</item>
<item key="waiting_requests_no">0</item>
<item key="encoding_type"></item>
<item key="response_code">200</item>
<item key="is_success">1</item>
</dt_assoc>
</item>
</dt_assoc>

395

</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

396

For data = domain_auth_info


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">modify</item>
<item key="object">domain</item>
<item key="cookie">992262064:387073</item>
<item key="attributes">
<dt_assoc>
<item key="affect_domains">0</item>
<item key="domain_auth_info">mysecret</item>
<item key="data">domain_auth_info</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

397

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">DOMAIN</item>
<item key="is_success">1</item>
<item key="response_code">200</item>
<item key="response_text">Domain auth code modification
Successful</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

398

For data = expire_action


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">modify</item>
<item key="object">domain</item>
<item key="cookie">692767317:3214395</item>
<item key="attributes">
<dt_assoc>
<item key="affect_domains">0</item>
<item key="auto_renew">0</item>
<item key="let_expire">0</item>
<item key="data">expire_action</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>

399

<body>
<data_block>
<dt_assoc>
<item key="protocol">XCP</item>
<item key="action">REPLY</item>
<item key="object">DOMAIN</item>
<item key="response_text">Update successful</item>
<item key="is_success">1</item>
<item key="response_code">200</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

400

For data = forwarding_email


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">modify</item>
<item key="object">domain</item>
<item key="cookie">113013968:388172</item>
<item key="attributes">
<dt_assoc>
<item key="affect_domains">0</item>
<item key="forwarding_email">new@example.com</item>
<item key="data">forwarding_email</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>

401

<version>0.9</version>
</header>
<body>
<data_block>
<dt_assoc>
<item key="protocol">XCP</item>
<item key="action">REPLY</item>
<item key="object">DOMAIN</item>
<item key="is_success">1</item>
<item key="response_code">200</item>
<item key="response_text">Domain forwarding email
modification Successful</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

402

For data = it_whois_display_setting


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="object">DOMAIN</item>
<item key="action">MODIFY</item>
<item key="attributes">
<dt_assoc>
<item key="domain">ariacorporate.it</item>
<item key="consent_for_publishing">N</item>
<item key="data">it_whois_display_setting</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

Response
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="object">DOMAIN</item>
<item key="response_text">OK</item>
<item key="action">REPLY</item>
<item key="response_code">200</item>
<item key="is_success">1</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

403

For data = parkpage_state


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">MODIFY</item>
<item key="object">DOMAIN</item>
<item key="attributes">
<dt_assoc>
<item key="affect_domains">0</item>
<item key="state">on</item>
<item key="data">parkpage_state</item>
<item key="domain">example.com</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>

404

<dt_assoc>
<item key="protocol">XCP</item>
<item key="action">REPLY</item>
<item key="object">DOMAIN</item>
<item key="is_success">1</item>
<item key="response_code">200</item>
<item key="response_text">Parked page successfully enabled
for domain example.com</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

For data = rsp_whois_info


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">modify</item>
<item key="object">domain</item>
<item key="cookie">631119177:3210384</item>
<item key="attributes">
<dt_assoc>
<item key="affect_domains">0</item>
<item key="flag">Y</item>
<item key="all">1</item>
<item key="data">rsp_whois_info</item>
</dt_assoc>

405

</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">DOMAIN</item>
<item key="is_success">1</item>
<item key="response_code">200</item>
<item key="response_text">Command Successfully
Completed</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

406

For data = status


As with the type 'status' for get domain, this can be called with or without a
cookie. Note that the conditions for this succeeding are those for which a get
domain status call would return a can_modify result of true (1).

Example 1
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">modify</item>
<item key="object">domain</item>
<item key="attributes">
<dt_assoc>
<item key="affect_domains">0</item>
<item key="lock_state">0</item>
<item key="data">status</item>
<item key="domain">example.com</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>

407

<header>
<version>0.9</version>
</header>
<body>
<data_block>
<dt_assoc>
<item key="protocol">XCP</item>
<item key="action">REPLY</item>
<item key="object">DOMAIN</item>
<item key="is_success">1</item>
<item key="response_code">200</item>
<item key="response_text">Lock disabled for
example.com</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

Example 2
Without end-user credentials

Request
<?xml version="1.0" encoding="UTF-8" standalone='yes'?>
<!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">modify</item>
<item key="object">domain</item>
<item key="attributes">
<dt_assoc>

408

<item key="domain">example.com</item>
<item key="lock_state">0</item>
<item key="data">status</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">DOMAIN</item>
<item key="response_text">Lock disabled for example.com</item>
<item key="response_code">200</item>
<item key="is_success">1</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

409

For data = uk_whois_opt


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">MODIFY</item>
<item key="object">DOMAIN</item>
<item key="registrant_ip">216.40.46.115</item>
<item key="cookie">435686610:3185178</item>
<item key="attributes">
<dt_assoc>
<item key="data">uk_whois_opt</item>
<item key="uk_whois_opt">Y</item>
<item key="reg_type">FIND</item>
<item key="uk_affect_domains">0</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>

410

<header>
<version>0.9</version>
</header>
<body>
<data_block>
<dt_assoc>
<item key="protocol">XCP</item>
<item key="action">REPLY</item>
<item key="object">DOMAIN</item>
<item key="is_success">1</item>
<item key="response_code">200</item>
<item key="response_text">Modification Successful</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

411

For data = whois_privacy_state


Example 1
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">modify</item>
<item key="object">domain</item>
<item key="cookie">77467901:3893</item>
<item key="attributes">
<dt_assoc>
<item key="affect_domains">0</item>
<item key="report_email"/>
<item key="state">disable</item>
<item key="data">whois_privacy_state</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>

412

<version>0.9</version>
</header>
<body>
<data_block>
<dt_assoc>
<item key="protocol">XCP</item>
<item key="action">REPLY</item>
<item key="object">DOMAIN</item>
<item key="is_success">1</item>
<item key="response_code">200</item>
<item key="response_text">Whois Privacy successfully
disabled</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

413

Example 2
Without end-user credentials

Request
<?xml version="1.0" encoding="UTF-8" standalone='yes'?>
<!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">modify</item>
<item key="object">domain</item>
<item key="attributes">
<dt_assoc>
<item key="domain">example.com</item>
<item key="state">enable</item>
<item key="data">whois_privacy_state</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>

414

</header>
<body>
<data_block>
<dt_assoc>
<item key="protocol">XCP</item>
<item key="action">REPLY</item>
<item key="object">DOMAIN</item>
<item key="response_text">Whois Privacy successfully disabled</item>
<item key="response_code">200</item>
<item key="is_success">1</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

For tld_data = ced_info (.ASIA)


Example 1
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">modify</item>
<item key="object">domain</item>
<item key="cookie">364577922:3202133</item>
<item key="attributes">
<dt_assoc>

415

<item key="affect_domains">0</item>
<item key="data">tld_data</item>
<item key="tld_data">
<dt_assoc>
<item key='ced_info'>
<dt_assoc>
<item key="contact_type">tech</item>
<item key="legal_entity_type">other</item>
<item key="legal_entity_type_info">add some
text here</item>
<item key="id_type">other</item>
<item key="id_type_info">other</item>
<item key="id_number">8675309</item>
<item key="locality_city">Sydney</item>
<item key="locality_state_prov">NSW</item>
<item key="locality_country">AU</item>
</dt_assoc>
</item>
</dt_assoc>
</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>

416

<dt_assoc>
<item key="protocol">XCP</item>
<item key="action">REPLY</item>
<item key="object">DOMAIN</item>
<item key="response_text">Data modification
Successful</item>
<item key="is_success">1</item>
<item key="response_code">200</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

Example 2
Without end-user credentials

Request
<?xml version="1.0" encoding="UTF-8" standalone='yes'?>
<!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">modify</item>
<item key="object">domain</item>
<item key="attributes">
<dt_assoc>
<item key="domain">example.asia</item>
<item key="data">tld_data</item>
<item key="tld_data">
<dt_assoc>

417

<item key='ced_info'>
<dt_assoc>
<item key="contact_type">tech</item>
<item key="id_number">8675309</item>
<item key="id_type">passport</item>
<item
key="legal_entity_type">corporation</item>
<item key="locality_city">Sydney</item>
<item key="locality_state_prov">NSW</item>
<item key="locality_country">AU</item>
</dt_assoc>
</item>
</dt_assoc>
</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">DOMAIN</item>
<item key="response_text">CED Data modification Successful</item>
<item key="response_code">200</item>

418

<item key="is_success">1</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

</header>

419

For tld_data = ipr_data (.XXX)


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">modify</item>
<item key="object">domain</item>
<item key="cookie">364577922:3202133</item>
<item key="attributes">
<dt_assoc>
<item key='data'>tld_data</item>
<item key='tld_data'>
<dt_assoc>
<item key='ipr_data'>
<dt_assoc>
<item key="icm_membership_id">123456</item>
</dt_assoc>
</item>
</dt_assoc>
</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>
</header>

420

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">DOMAIN</item>
<item key="response_text">OK</item>
<item key="is_success">1</item>
<item key="response_code">200</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

For tld_data = it_registrant_info (.IT)


Request
<?xml version='1.0' encoding='UTF-8'?>
<OPS_envelope>
<header>
<version>0.9</version>

</header>

421

<body>
<data_block>
<dt_assoc>
<item key='protocol'>XCP</item>
<item key='action'>modify</item>
<item key='object'>domain</item>
<item key='cookie'>jL81QUn9BKTJAdSN:698497:1284</item>
<item key='attributes'>
<dt_assoc>
<item key='data'>tld_data</item>
<item key='tld_data'>
<dt_assoc>
<item key='it_registrant_info'>
<dt_assoc>
<item key='entity_type'>1</item>
<item key='reg_code'>SGLMRA80A01H501E</item>
<item key='nationality_code'>it</item>
</dt_assoc>
</item>
</dt_assoc>
</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>

422

<body>
<data_block>
<dt_assoc>
<item key="protocol">XCP</item>
<item key="action">REPLY</item>
<item key="object">DOMAIN</item>
<item key="is_success">1</item>
<item key="response_text">Command completed successfully</item>
<item key="response_code">200</item>
<item key="attributes">
<dt_assoc>
<item key="details">
<dt_assoc>
<item key="feb22test1.it">
<dt_assoc>
<item key="response_text">Command completed
successfully</item>
<item key="waiting_requests_no">0</item>
<item key="encoding_type"></item>
<item key="response_code">200</item>
<item key="is_success">1</item>
</dt_assoc>
</item>
</dt_assoc>
</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

423

For tld_data = nexus (.US)


Example 1
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">modify</item>
<item key="object">domain</item>
<item key="cookie">364577922:3202133</item>
<item key="attributes">
<dt_assoc>
<item key="affect_domains">0</item>
<item key="data">tld_data</item>
<item key="tld_data">
<dt_assoc>
<item key='nexus'>
<dt_assoc>
<item key="validator">CA</item>
<item key="category">C31</item>
<item key="app_purpose">P1</item>
</dt_assoc>
</item>
</dt_assoc>
</item>
</dt_assoc>
</item>

424

</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">DOMAIN</item>
<item key="response_text">Nexus Data modification
Successful</item>
<item key="is_success">1</item>
<item key="response_code">200</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

Example 2
Without end-user credentials

Request
<?xml version="1.0" encoding="UTF-8" standalone='yes'?>
<!DOCTYPE OPS_envelope SYSTEM 'ops.dtd'>
<OPS_envelope>
<header>

425

<version>0.9</version>
</header>
<body>
<data_block>
<dt_assoc>
<item key="protocol">XCP</item>
<item key="action">modify</item>
<item key="object">domain</item>
<item key="attributes">
<dt_assoc>
<item key="domain">example.us</item>
<item key="data">tld_data</item>
<item key='tld_data'>
<dt_assoc>
<item key="nexus">
<dt_assoc>
<item key="validator">CA</item>
<item key="category">C31</item>
<item key="app_purpose">P1</item>
</dt_assoc>
</item>
</dt_assoc>
</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>

426

<version>0.9</version>
</header>
<body>
<data_block>
<dt_assoc>
<item key="protocol">XCP</item>
<item key="action">REPLY</item>
<item key="object">DOMAIN</item>
<item key="response_text">Nexus Data modification Successful</item>
<item key="response_code">200</item>
<item key="is_success">1</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

427

For tld_data =professional_data (.PRO)


Request
<?xml version='1.0' encoding='UTF-8'?>
<OPS_envelope>
<header>
<version>0.9</version>
</header>
<body>
<data_block>
<dt_assoc>
<item key='protocol'>XCP</item>
<item key='action'>modify</item>
<item key='object'>domain</item>
<item key='cookie'>blp4auSCgspDRbEM:698486:1271</item>
<item key='attributes'>
<dt_assoc>
<item key='data'>tld_data</item>
<item key='tld_data'>

428

<dt_assoc>
<item key='professional_data'>
<dt_assoc>
<item key='authority_website'>http://www.cdaadc.ca</item>
<item key='license_number'>987654321</item>
<item key='authority'>Canadian Dental
Association</item>
<item key='profession'>Dentist</item>
</dt_assoc>
</item>
</dt_assoc>
</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'>DOMAIN</item>
<item key='response_text'>OK</item>
<item key='response_code'>200</item>
<item key='is_success'>1</item>

429

</dt_assoc>
</data_block>
</body>
</OPS_envelope

430

For tld_data = registrant_extra_info (.COOP)


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'>modify</item>
<item key='object'>domain</item>
<item key='cookie'>ndxOATL2zdtVpWXJ:710538:6469</item>
<item key='attributes'>
<dt_assoc>
<item key='tld_data'>
<dt_assoc>
<item key='registrant_extra_info'>
<dt_assoc>
<item key='coop_verification_code'>93599789</item>
</dt_assoc>
</item>
</dt_assoc>
</item>
<item key='data'>tld_data</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

Response

431

<?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'>DOMAIN</item>
<item key='response_text'>OK</item>
<item key='response_code'>200</item>
<item key='is_success'>1</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

432

For tld_data = registrant_extra_info (.JOBS)


Request
<?xml version='1.0' encoding='UTF-8'?>
<OPS_envelope>
<header>
<version>0.9</version>
</header>
<body>
<data_block>
<dt_assoc>
<item key='protocol'>XCP</item>
<item key='action'>modify</item>
<item key='object'>domain</item>
<item key='cookie'>7rQitruAeYGgKcBO:707623:6222</item>
<item key='attributes'>
<dt_assoc>
<item key='data'>tld_data</item>
<item key='tld_data'>
<dt_assoc>
<item key='registrant_extra_info'>
<dt_assoc>
<item key='jobs_admin_type'>Yes</item>
<item
key='jobs_website'>http://www.example.com</item>
<item key='jobs_association_member'>Yes</item>
<item key='jobs_title'>HR Generalist</item>
<item key='jobs_industry_type'>Logistics
Management</item>
</dt_assoc>
</item>

433

</dt_assoc>
</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'>DOMAIN</item>
<item key='response_text'>OK</item>
<item key='response_code'>200</item>
<item key='is_success'>1</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

434

For tld_data = registrant_extra_info (.RU)


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'>modify</item>
<item key='object'>domain</item>
<item key='cookie'>jJGPPma5I1lYrMYp:296765:22940</item>
<item key='attributes'>
<dt_assoc>
<item key='data'>tld_data</item>
<item key='tld_data'>
<dt_assoc>
<item key='registrant_extra_info'>
<dt_assoc>
<item key='date_of_birth'>1976-08-05</item>
<item key='id_card_authority'>Republic of
Khakassia </item>
<item key='id_card_issue_date'>2001-01-01</item>
<item key='id_card_number'>987654321</item>
<item key='registrant_type'>individual</item>
</dt_assoc>
</item>

435

</dt_assoc>
</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'>DOMAIN</item>
<item key='response_text'>OK</item>
<item key='response_code'>200</item>
<item key='is_success'>1</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

436

parse csr
Description
Action & object
action = parse_csr
object = trust_service

Usage
Parses the CSR and identifies its data elements.

Request parameters for parse_csr


Standard parameters
action = parse_csr
object = trust_service
attributes

Attributes
Parameters within the attributes associative array are described below.
Parameter
name

Obligation

Definition/Value

csr

Required

A Certificate Signing Request for the required SSL


Certificate.

Note: All certificates require 2048 bit CSRs;

however, Symantec will accept 1024 bit CSRs for


certificates with expiry dates prior to December 31,
2013, except for EV certs, which require 2048,
regardless of the term.
product_type

Required

The product type from the SSL Certificate inventory.


Allowed values are:

comodo_ev

comodo_instantssl

comodo_premiumssl

comodo_premiumssl_wildcard

quickssl

quickssl_premium

securesite

securesite_pro

437

Parameter
name

Obligation

Definition/Value

securesite_ev

securesite_pro_ev

sgcsuper_certs

ssl123

sslwebserver

sslwebserver_wildcard

sslwebserver_ev

truebizid

truebizid_wildcard

truebizid_ev

trustwave_dv

trustwave_ev

trustwave_premiumssl

trustwave_premiumssl_wildcard

Response parameters for parse_csr


Standard parameters
action = reply
object = trust_service
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

csr_data

Returned if
A list of the data elements of the CSR. For more
is_success = information, see the csr_data table.
true

438

csr_data
Parameters within the csr_data associative array are described below.
Parameter name

Obligation

Definition/Value

country

Always returned

The country specified in the CSR.

domain

Always returned

The domain specified in the CSR.

email

Always returned

The email address specified in the


CSR.

has_bad_extensions

Always returned

Indicates whether the CSR contains


any unsupported extensions.
Allowed values are:

0The CSR can be used.

1 Re-generate the CSR


without the unsupported
extensions.

locality

Always returned

The city specified in the CSR.

organization

Always returned

The organization specified in the


CSR.

organization_unit

Always returned

The organization unit specified in


the CSR.

state

Always returned

The state specified in the CSR.

valid_quick_domain

Returned for QuickSSL


Certificates only

Indicates whether the CSR is valid


for QuickSSL certificates.
Allowed values are:

valid_true_domain

Returned for True


BusinessID Certificates
only

0No

1Yes

Indicates whether the CSR is valid


for True BusinessID certificates.
Allowed values:

0No

1Yes

Examples for parse_csr


Request
<?xml version='1.0' encoding='UTF-8' standalone='no' ?>
<!DOCTYPE OPS_envelope SYSTEM 'ops.dtd'>
<OPS_envelope>
<header>

439

<version>0.9</version>
</header>
<body>
<data_block>
<dt_assoc>
<item key='protocol'>XCP</item>
<item key='action'>parse_csr</item>
<item key='object'>trust_service</item>
<item key='attributes'>
<dt_assoc>
<item key='product_type'>quickssl</item>
<item key='csr'>-----BEGIN CERTIFICATE REQUEST----MIIBqTCCARICAQAwaTELMAkGA1UEBhMCQ0ExCzAJBgNVBAgTAm9uMRAwDgYDVQQH
Ewd0b3JvbnRvMQ8wDQYDVQQKEwZ0dWNvd3MxCzAJBgNVBAsTAnFhMR0wGwYDVQQD
ExR3d3cucWFyZWdyZXNzaW9uLm9yZzCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkC
gYEAz+hbqqnE5BSW0THf7txxsJxF8Vtca2uL52iutI1SRTm9J6NNtAjgMbL9upOm
SFnObpWKriUIlvxKrecygGWkjiMeyU/F6auAS9/vwDdxYEVT2szK+Q2At1FgU433
Pds53v2J/vyB6SL+k/w54H2gF4ORpU1hjUggo7fM353TeeMCAwEAAaAAMA0GCSqG
SIb3DQEBBAUAA4GBAIYvVThVeocN7N7HbsO/au9AXnx6LULQ5LMDWx6FlyBB5g9h
5HYZa6xieYCYDxYIsjLjR3qx1BWl9+0kSL2MW4EdDPzbcrZvHAtrw2/hPrm9EGA3
2w3a26W79N3clCkrahnpcNFLFyzU3CtZASJ+VuixGXTEkdiBAliqtGp+QBhf -----END
CERTIFICATE REQUEST-----</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>

440

<body>
<data_block>
<dt_assoc>
<item key='protocol'>XCP</item>
<item key='action'>REPLY</item>
<item key='object'>TRUST_SERVICE</item>
<item key='is_success'>1</item>
<item key='response_text'>Command completed
successfully.</item>
<item key='response_code'>200</item>
<item key='attributes'>
<dt_assoc>
<item key='csr_data'>
<dt_assoc>
<item key='country'>US</item>
<item key='organization_unit'>QA</item>
<item key='valid_true_domain'>1</item>
<item key='state'>CA</item>
<item key='locality'>Santa Clara</item>
<item key='email'/>
<item key='domain'>www.example.com</item>
<item key='valid_quick_domain'>1</item>
<item key='has_bad_extensions'>0</item>
<item key='organization'>Example Inc.</item>
</dt_assoc>
</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

441

process_pending
Description
Action & object
action = process_pending
object = domain or trust_service

Usage
Processes or cancels pending orders; also applicable to any order that is
declined. The order is cancelled and a new order is created. Can also be used
to process cancelled domain orders, provided the cancelled order was a new
order or a transfer.

Request parameters for process_pending


Standard parameters
action = process_pending
object = domain or trust_service
attributes

Attributes
Parameters within the attributes associative array are described below.
Parameter
name

Obligation

Definition/Value

command

Optional

Only necessary if you want to cancel the pending


order. If you want to process the pending order, do
not add this attribute.
Allowed value is cancel.

fax_received

Optional

Only required for .DE orders that are pending a


confirmation fax.

0No

1Yes

order_id

Required

The ID of the order to be processed.

owner_address

Optional

Owner's email address; only used for .DE


transfers.

442

Response parameters for process_pending


Standard parameters
action = reply
object = domain
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

Attributes
If the request is successful, the attributes associative array may include the
following:
Parameter
name

Obligation

Definition/Value

async_reason

Included in domain
response for
asynchronous
requests

Indicates the reason that the request was


asynchronous. Allowed values are:

generalOrder was submitted to an


asynchronous registry.

has_claimRegistrant action required


before order can complete.

domain

Included in Trust
Service response if
is_success = true

The domain with which the Trust Service


order is associated.

f_auto_renew

Included in domain
response if
is_success = true

Flag indicating whether domain is


automatically renewed. Allowed values are Y
or N.

id

Included in domain The ID of the domain


response if
is_success = true

order_id

Included in Trust
Service response if
is_success = true

registration
expiration date

Included in domain The new expiration date for the service, in


response if
the format YYYY-MM-DD hh:mm:ss
is_success = true

state

Included in Trust
Service response if
is_success = true

The ID of the order.

The state of the order. Allowed values are:

awaiting-approvalOrder

443

Obligation

Parameter
name

Definition/Value
processed successfully; waiting for
supplier approval.

supplier_order_ Included in Trust


id
Service response if
is_success = true

in-progressOrder is in progress.

The ID number for the vendor.

Deprecated
Parameter
name

Obligation

Definition / Value

transaction_id

Deprecated

Deprecated

Examples for process_pending domain


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">process_pending</item>
<item key="object">domain</item>
<item key="attributes">
<dt_assoc>
<item key="owner_address">myemail@example.com</item>
<item key="fax_received">1</item>
<item key="order_id">535242</item>
</dt_assoc>
</item>

444

</dt_assoc>
</data_block>
</body>
</OPS_envelope>

Response
If successful
<?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">DOMAIN</item>
<item key="attributes">
<dt_assoc>
<item key="f_auto_renew">Y</item>
<item key="id">3343012</item>
<item key="registration expiration date">2007-12-05
15:23:15</item>
</dt_assoc>
</item>
<item key="is_success">1</item>
<item key="response_code">200</item>
<item key="response_text"> Domain registration successfully
completed
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

445

If unsuccessful
<?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">DOMAIN</item>
<item key="is_success">0</item>
<item key="response_code">480</item>
<item key="response_text">Order 535242 is not a pending or
declined order and cannot be processed</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

If domain name matches a trademark at the TMCH


<?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'>DOMAIN</item>
<item key='response_code'>260</item>
<item key='is_success'>1</item>

446

<item key='response_text'>Registration is pending registrant


review before completing due to claim/trademark.</item>
<item key='transaction_id'/>
<item key='action'>REPLY</item>
<item key='attributes'>
<dt_assoc>
<item key='order_id'>654155</item>
<item key='async_reason'>has_claim</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

Examples for process_pending trust_service


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">process_pending</item>
<item key="object">trust_service</item>
<item key="attributes">
<dt_assoc>
<item key="order_id">6617</item>
</dt_assoc>
</item>

447

</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">TRUST_SERVICE</item>
<item key="response_text">Command completed
successfully.</item>
<item key="is_success">1</item>
<item key="response_code">200</item>
<item key="attributes">
<dt_assoc>
<item key="domain">example.com</item>
<item key="order_id">6617</item>
<item key="supplier_order_id">219</item>
<item key="state">awaiting-approval</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

448

query_approver_list
Description
Action & object
action = query_approver_list
object = trust_service

Usage
Queries the list of approvers for the Trust Service that is associated with the
specified domain.
Note: This command is currently not supported for Trustwave certificates.

Request parameters for query_approver_list


Standard parameters
action = query_approver_list
object = trust_service
attributes

Attributes
Parameters within the attributes associative array are described below.
Parameter
name

Obligation

Definition/Value

domain

Required

The domain to which the Trust Service approver


list belongs.

product_type

Required

The product type from the SSL Certificate


inventory.
Allowed values are:

comodo_ev

comodo_instantssl

comodo_premiumssl

comodo_premiumssl_wildcard

quickssl

quickssl_premium

securesite

securesite_pro

securesite_ev

449

Parameter
name

Obligation

Definition/Value

securesite_pro_ev

sgcsuper_certs

ssl123

sslwebserver

sslwebserver_wildcard

sslwebserver_ev

truebizid

truebizid_wildcard

truebizid_ev

Response parameters for query_approver_list


Standard parameters
action = reply
object = trust_service
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

approver_list

Returned if
The list of approvers and their properties. For more
is_success = information, see the approver_list table.
true

Approver_list
Parameters within the approver_list associative array are described below.
Parameter
name

Obligation

Definition/Value

domain

Always
returned

The domain to which the Trust Service applies.

450

Parameter
name

Obligation

Definition/Value

email

Always
returned

Trust Service approver email address.

type

Always
returned

Trust Service approver type. Allowed values are:


genericGenerated by pre-pending
predefined list of prefixes to the domain
name. Prefixes include admin, administrator,
hostmaster, root, webmaster, postmaster, and
support.
manualA list of support addresses taken
from WHOIS.

Examples for query_approver_list


Request
<?xml version='1.0' encoding='UTF-8'?>
<!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'>query_approver_list</item>
<item key='object'>trust_service</item>
<item key='attributes'>
<dt_assoc>
<item key='domain'>example.com</item>
<item key='product_type'>quickssl</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

451

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'>TRUST_SERVICE</item>
<item key='response_text'>Command completed
successfully.</item>
<item key='is_success'>1</item>
<item key='response_code'>200</item>
<item key='attributes'>
<dt_assoc>
<item key='approver_list'>
<dt_array>
<item key='0'>
<dt_assoc>
<item key='email'>qafive@example.com</item>
<item key='domain'>example.com</item>
<item key='type'>MANUAL</item>
</dt_assoc>
</item>
<item key='1'>
<dt_assoc>
<item key='email'>ottway@example.com</item>
<item key='domain'>example.com</item>
<item key='type'>MANUAL</item>
</dt_assoc>
</item>

452

<item key='2'>
<dt_assoc>
<item key='email'>admin@example.com</item>
<item key='domain'>example.com</item>
<item key='type'>GENERIC</item>
</dt_assoc>
</item>
<item key='3'>
<dt_assoc>
<item key='email'>administrator@example.com</item>
<item key='domain'>example.com</item>
<item key='type'>GENERIC</item>
</dt_assoc>
</item>
<item key='4'>
<dt_assoc>
<item key='email'>hostmaster@example.com</item>
<item key='domain'>example.com</item>
<item key='type'>GENERIC</item>
</dt_assoc>
</item>
<item key='5'>
<dt_assoc>
<item key='email'>root@example.com</item>
<item key='domain'>example.com</item>
<item key='type'>GENERIC</item>
</dt_assoc>
</item>
<item key='6'>
<dt_assoc>
<item key='email'>webmaster@example.com</item>
<item key='domain'>example.com</item>
<item key='type'>GENERIC</item>
</dt_assoc>
</item>

453

<item key='7'>
<dt_assoc>
<item key='email'>postmaster@example.com</item>
<item key='domain'>example.com</item>
<item key='type'>GENERIC</item>
</dt_assoc>
</item>
<item key='8'>
<dt_assoc>
<item key='email'>support@example.com</item>
<item key='domain'>example.com</item>
<item key='type'>MANUAL</item>
</dt_assoc>
</item>
</dt_array>
</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

454

query_queued_request
Description
Action & object
action = query_queued_request
object = domain

Usage
Queries the status of a queued request.

Request parameters for query_queued_request


Standard parameters
action = query_queued_request
object = domain
attributes

Attributes
Parameters within the attributes associative array are described below.
Parameter
name

Obligation

Definition/Value

request_id

Required

The ID of the queued request; the


queue_request_id is returned when an order is
queued.

Response parameters for query_queued_request


Standard parameters
action = reply
object = domain
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

455

Attributes
If the request is successful, the attributes associative array may include the
following:
Parameter
name

Obligation

Definition/Value

queue_date

Returned if
The date the order was queued, in the format
is_success = true DD-MMM-YYYY hh:mm:ss.

request_data

Returned if
is_success = true

The content of the original queued request. All


data is returned in a single variable.

Examples for query_queued_request


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">query_queued_request</item>
<item key="object">domain</item>
<item key="attributes">
<dt_assoc>
<item key="request_id">1782</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

456

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">DOMAIN</item>
<item key="is_success">1</item>
<item key="response_code">200</item>
<item key="response_text">Command completed
successfully</item>
<item key="attributes">
<dt_assoc>
<item key="queue_date">04-MAR-2004 10:27:01</item>
<item key="request_data">
<dt_assoc>
<item key="ip">10.0.11.121</item>
<item key="username">purple</item>
<item key="action">SW_REGISTER</item>
</dt_assoc>
</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

457

redeem (domain)
Description
Action & object
action = redeem
object = domain

Usage
Redeems a .COM, .NET, .CA, .IT, or .NL domain that has expired but is within
the redemption grace period.
Note: Domain redemptions may incur addition fees.

Request parameters for redeem domain


Standard parameters
action = redeem
object = domain
registrant_ip = valid IP address of the registrant (optional)
attributes

Attributes
Parameters within the attributes associative array are described below.
Parameter
name

Obligation Definition/Value

domain

Required

The name of the domain to be redeemed. Domain


must be within the redemption grace period.

Response parameters for redeem domain


Standard parameters
action = reply
object = domain

458

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

Examples for redeem domain


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">REDEEM</item>
<item key="object">DOMAIN</item>
<item key="attributes">
<dt_assoc>
<item key="domain">example.ca</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>

459

</header>
<body>
<data_block>
<dt_assoc>
<item key="protocol">XCP</item>
<item key="object">DOMAIN</item>
<item key="action">REPLY</item>
<item key="response_text">Command completed
successfully</item>
<item key="response_code">200</item>
<item key="is_success">1</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

460

renew (domain)
Description
Action & object
action = renew
object = domain

Usage
Renews a domain and allows you to set the auto-renewal flag on a domain.

Request parameters for renew (domain)


Standard parameters
action = renew
object = domain
registrant_ip = valid IP address of the registrant (optional)
attributes

Attributes
Parameters within the attributes associative array are described below.
Parameter name

Obligation

Definition/Value

affiliate_id

Optional

ID that allows RSP's to track orders coming


through various affiliates.

auto_renew

Required

A flag indicating whether the domain should


be set to auto-renew.

0Not set to auto-renew

1Set to auto-renew

currentexpirationyear

Required

The domain's current expiration year in the


format YYYY; must match the data in the
registry.

domain

Required

The name of the domain to be renewed.


Domain must be registered, and must exist
in both OpenSRS and the appropriate
registry.

f_parkp

Optional

Enables the Parked Pages Program. When


the Parked Pages Program is enabled, a
customized page containing contextual ads

461

Parameter name

Obligation

Definition/Value
is displayed. The ads generate revenue
whenever a visitor clicks on one of the links,
and that revenue is shared with you, the
Reseller.
Important: Enabling Parked Pages changes
the nameservers of that domain, and any
existing website will not display.
Parked Pages functionality is available for
these TLDs: .COM, .NET, .ORG, .INFO,
.BIZ, .MOBI, .NAME, .ASIA, .BE, .BZ, .CA,
.CC, .CO, .EU, .IN, .ME, .NL, .TV, .UK,
.US, .WS and .XXX.
YEnable Parked Pages for the
domain
NDo not enable Parked Pages
for the domain
If a Reseller has opted out of Parked Pages,
the default value (N) is used, even if Y is
submitted.

handle

Required

Instructions for the processing of the order.


(Overrides the RSP's 'process immediately'
settings.).
savePend the order for the RSP's
later approval
processProcess the order

immediately

period

Required

The renewal period, from 1 to 10 years.


(May not exceed 10 years.)

Response parameters for renew (domain)


Standard parameters
action = reply
object = domain
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

462

Attributes
If the request is successful, the attributes associative array may include the
following:
Parameter name Obligation

Definition/Value

admin_email

Returned if
is_success =
true

The email address of the administrative


contact for the domain.

auto_renew

Returned if
is_success =
true

A flag indicating whether the domain is set


to auto-renew.
0Not set to auto-renew
1Set to auto-renew

id

Returned if
is_success =
true and order is
not queued

The domain ID. If queue_request_id is


returned, id is not returned.

order_id

Returned if
is_success =
true

The order ID of the renewal.

queue_request_id

Returned if
is_success =
true and order is
queued

The ID of the request as it occurs within the


queue. Later, if you want to renew the order
from the queue, you'll need this ID.

Returned if
is_success =
true

The domain's current expiration year.

registration
expiration date

If queue_request_id is returned, id is not


returned.

Response codes
Response
Code

Response Text

Explanation

200

Command completed
successfully

Success response.

480

Renew capability is not Renewals are not yet supported for this TLD.
enabled for domain.tv

555

Domain already
renewed

Domain has already been successfully


renewed, with the current expiration year
matching the year provided by the user.

541

Invalid attribute value

Domain's current expiration year in registry


doesn't match the year provided by user.

400

Fatal Server Error

System error.

463

Response
Code

Response Text

Explanation

400

Domain already
Domain is already in 'renewal applied' state.
renewed; another
renewal cannot be
applied until the first
request completes', at
the registry,
approximately six to
eight weeks after the
original expiration date
(2003-03-19 12:12:00)

Note: When a renew operation fails, the Reseller receives a message


indicating which domain failed to be renewed. This message is only sent
once in 24 hours, regardless of how many renewals failed within this period.

Examples for renew (domain)


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">renew</item>
<item key="object">DOMAIN</item>
<item key="attributes">
<dt_assoc>
<item key="auto_renew">1</item>
<item key="f_parkp">Y</item>
<item key="handle">process</item>
<item key="domain">example.com</item>
<item key="currentexpirationyear">2008</item>
<item key="period">1</item>
</dt_assoc>
</item>

464

</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">DOMAIN</item>
<item key="attributes">
<dt_assoc>
<item key="registration expiration date">2009-01-08
15:35:00</item>
<item key="auto_renew">1</item>
<item key="admin_email">admin1@example.com</item>
<item key="id">3212624</item>
<item key="order_id">3511417</item>
</dt_assoc>
</item>
<item key="response_text">Command completed
successfully</item>
<item key="is_success">1</item>
<item key="response_code">200</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

465

request_on_demand_scan
Description
Action & object
action = request_on_demand_scan
object = trust_service

Usage
If you have a Symantec or SiteLock seal, or the GeoTrust Web Site AntiMalware Scan product, and you have corrected a malware issue on your site,
you can ask the Trust Service provider to rescan your system immediately
and reinstate the Seal.
Note: You can only request a scan if the Trust Seal order is complete.

Request parameters for request_on_demand_scan


Standard parameters
action = request_on_demand_scan
object = trust_service
attributes

Attributes
Parameters within the attributes associative array are described below.
Note: You must specify at least one of these parameters.
Parameter name

Obligation

Definition/Value

order_id

Optional

The Trust Service order ID number.

product_id

Optional

The Trust Service product ID number.

Response parameters for request_on_demand_scan


Standard parameters
action = reply
object = trust_service

466

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

product_id

Returned if
is_success =
true

The Trust Service ID number.

Examples for request_on_demand_scan


Example 1
This example requests a scan for a site by submitting the product ID.

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'>request_on_demand_scan</item>
<item key='object'>trust_service</item>
<item key='attributes'>
<dt_assoc>
<item key='product_id'>275</item>
</dt_assoc>
</item>

467

</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'>TRUST_SERVICE</item>
<item key='response_text'>Command completed
successfully.</item>
<item key='is_success'>1</item>
<item key='response_code'>200</item>
<item key='attributes'>
<dt_assoc>
<item key='product_id'>275</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

Example 2
This example requests a scan for a site by submitting the order ID.

468

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'>request_on_demand_scan</item>
<item key='object'>trust_service</item>
<item key='action'>REQUEST_ON_DEMAND_SCAN</item>
<attributes>
<item key='order_id'>49841</item>
</attributes>
</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'>TRUST_SERVICE</item>

469

<item key='response_text'>Command completed


successfully.</item>
<item key='is_success'>1</item>
<item key='response_code'>200</item>
<item key='attributes'>
<dt_assoc>
<item key='product_id'>275</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

470

resend_approve_email
Description
Action & object
action = resend_approve_email
object = trust_service

Usage
Resends the Approver email
Note: This command is not supported for SiteLock products, or for Comodo
EV SSL certificates or for Trustwave Premium EV, Premium SSL and Premium
SSL Wildcard certificates, or the GeoTrust Web Site Anti-Malware Scan
product. For TRUSTe products, this command resends the fulfillment email
after the order is submitted.

Request parameters for resend_approve_email


Standard parameters
action = resend_approve_email
object = trust_service
attributes

Attributes
Parameters within the attributes associative array are described below.
Parameter
name

Obligation

Definition/Value

order_id

Required

The ID number of the Trust Service order.

Response parameters for resend_approve_email


Standard parameters
action = reply
object = trust_service
is_success = a Boolean is returned, indicating success or failure of the

request

471

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

order_id

Returned if
is_success =
true

The ID number of the Trust Service order.

Examples for resend_approve_email


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'>resend_approve_email</item>
<item key='object'>trust_service</item>
<item key='attributes'>
<dt_assoc>
<item key='order_id'>1859</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

472

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'>TRUST_SERVICE</item>
<item key='is_success'>1</item>
<item key='response_text'>Command completed
successfully.</item>
<item key='response_code'>200</item>
<item key='attributes'>
<dt_assoc>
<item key='order_id'>1859</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

473

resend_cert_email
Description
Action & object
action = resend_cert_email
object = trust_service

Usage
Resends the certificate email.
In order to request the SSL Certificate email, the order must be completed.
Note: This command is not supported for SiteLock or Comodo, or the
GeoTrust Web Site Anti-Malware Scan product. For TRUSTe products, this
command resends the fulfillment email after the order is completed.

Request parameters for resend_cert_email


Standard parameters
action = resend_cert_email
object = trust_service
attributes

Attributes
Parameters within the attributes associative array are described below.
Parameter
name

Obligation

Definition/Value

order_id

Required

The ID number of the Trust Service order.

Response parameters for resend_cert_email


Standard parameters
action = reply
object = trust_service
is_success = a Boolean is returned, indicating success or failure of the

request

response_code = response code indicating outcome of the request

474

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

order_id

Returned if
is_success =
true

The ID number of the Trust Service order.

Examples for resend_cert_email


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'>resend_cert_email</item>
<item key='object'>trust_service</item>
<item key='attributes'>
<dt_assoc>
<item key='order_id'>1799</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

475

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'>TRUST_SERVICE</item>
<item key='is_success'>1</item>
<item key='response_text'>Command completed
successfully.</item>
<item key='response_code'>200</item>
<item key='attributes'>
<dt_assoc>
<item key='order_id'>1799</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

476

revoke (domain)
Description
Action & object
action = revoke
object = domain

Usage
Removes the domain at the registry. Use this command to request a refund
for a domain purchase. This call can refund/revoke only one domain at the
time.
Note: A refund can be issued for only those domains which fall within the
specified grace period as defined by each registry.

Request parameters for revoke (domain)


Standard parameters
action = revoke
object = domain
attributes

Attributes
Parameters within the attributes associative array are described below.
Parameter
name

Obligation

Definition/Value

domain

Required

Domain to be revoked.

notes

Optional

Information relevant to action. Notes are saved to


domain notes.

477

Response parameters for revoke (domain)


Standard parameters
action = reply
object = domain
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

charge

Optional

Value indicating whether the Reseller has been


charged:
0No charge
1Indicates a charge

price

Optional

The sum of money of that the Reseller is charged.

Examples for revoke (domain)


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">REVOKE</item>

478

<item key="object">DOMAIN</item>
<item key="attributes">
<dt_assoc>
<item key="domain">example.com</item>
<item key="notes">this is a test</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

Response
If successful
<?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">DOMAIN</item>
<item key="is_success">1</item>
<item key="attributes">
<dt_assoc>
<item key="charge">0</item>
<item key="price">undef</item>
</dt_assoc>
</item>
<item key="response_text">Domain example.com revoked
successfully.</item>

479

<item key="response_code">200</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

If unsuccessful
<?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">DOMAIN</item>
<item key="is_success">0</item>
<item key="response_text">Domain not found.</item>
<item key="response_code">461</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

480

send_CIRA_approval_email
Description
Action & object
action = send_CIRA_approval_email
object = domain

Usage
When a .CA domain is registered, it goes into a waiting-approval state, and
the admin contact must confirm the registration by responding to an approval
email message, sent by CIRA. This command resends that CIRA registration
approval email message to the domain's contact.
Important: This command has been deprecated. If this command is part of
your current integration, it will continue to work; however, the results will be
ignored. The response will return 'is_success' => '1'.

Request parameters for send_CIRA_approval_email


Standard parameters
action = send_CIRA_approval_email
object = domain
attributes

Attributes
Parameters within the attributes associative array are described below.
Parameter
name

Obligation

Definition/Value

domain

Required

The domain for which the CIRA approval email is


to be sent

481

Response parameters for


send_CIRA_approval_email
Standard parameters
action = reply
object = domain
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

Examples for send_CIRA_approval_email


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">send_cira_approval_email</item>
<item key="object">domain</item>
<item key="attributes">
<dt_assoc>
<item key="domain">example.ca</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

482

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">domain</item>
<item key="is_success">1</item>
<item key="response_code">200</item>
<item key="response_text">CIRA registration confirmation
mail sent to user1@example.ca</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

483

send_registrant_verification_email
Description
Action & object
action =send_registrant_verification_email
object = domain

Usage
When a domain is registered or transferred, or when the registrant contact
information is changed, the registrant must reply to an email requesting
them to confirm that the submitted contact information is correct. This
command sends or resends the verification email to the registrant.

Request parameters for


send_registrant_verification_email
Standard parameters
action = send_registrant_verification_email
object = domain
attributes

Attributes
Parameters within the attributes associative array are described below.
Parameter
name

Obligation

Definition / Value

domain

Required if cookie is not submitted

The relevant domain.

Response parameters for


send_registrant_verification_email
Standard parameters
action = reply
object = domain
484

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

Examples for send_registrant_verification_email


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'>send_registrant_verification_email</item>
<item key='object'>domain</item>
<item key='attributes'>
<dt_assoc>
<item key='domain'>example.com</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>

485

</header>
<body>
<data_block>
<dt_assoc>
<item key="protocol">XCP</item>
<item key="action">REPLY</item>
<item key="object">DOMAIN</item>
<item key="response_text">Verification email has been resent
successfully.</item>
<item key="response_code">200</item>
<item key="is_success">1</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

486

set_domain_affiliate_id
Description
Action & object
action = set_domain_affiliate_id
object = domain

Usage
Assigns an affiliate id to a domain.

Request parameters for set_domain_affiliate_id


Standard parameters
action = set_domain_affiliate_id
object = domain
attributes

Attributes
Parameters within the attributes associative array are described below.
Parameter
name

Obligation Definition / Value

affiliate_id

Required

The affiliate id associated with the domain (max 256


char).

domain

Required

The domain to which you want to assign an


affiliate_id.

Response parameters for set_domain_affiliate_id


Standard parameters
action = reply
object = domain
is_success = a Boolean is returned, indicating success or failure of the
request
487

response_code = response code indicating outcome of the request


response_text = message describing the outcome of the request

Examples for set_domain_affiliate_id


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'>set_domain_affiliate_id</item>
<item key='object'>domain</item>
<item key='attributes'>
<dt_assoc>
<item key='affiliate_id'>UpdatedAffiliate</item>
<item key='domain'>example.com</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>

488

<body>
<data_block>
<dt_assoc>
<item key='protocol'>XCP</item>
<item key='action'>REPLY</item>
<item key='object'>DOMAIN</item>
<item key='response_text'>Command Successful</item>
<item key='response_code'>200</item>
<item key='is_success'>1</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

489

sw_register (domain or trust_service)


Description
Action & object
action = sw_register
object = domain or trust_service

Usage
Submits a new registration or transfer order that obeys the Reseller's
'process immediately' flag setting.

Trust Service free trials


Free 30 day trials are available for the following Trust Service products:
GeoTrustTrue BusinessID with EV
SymantecSecureSite, Secure Site Pro, Secure Site with EV, and
Secure Site Pro with EV
TRUSTeHosted Privacy Policy (HPP) and Privacy Policy with Seal
(TPS)
The free trial lasts for 30 days, and can be cancelled at any time during that
30 day period without incurring a charge by issuing the cancel_free_trial
command.

After the 30 days, if the order has not been cancelled, the customer is
automatically charged for the term that they selected when they placed the
order. The expiry date is calculated from the date that the paid term begins,
not the date that the free trial began. For GeoTrust and Symantec, once the
order has passed the free trial stage and become activated, you cannot order
another free trial for the same domain until the one year period has passed.
Note:The Symantec certs and the GeoTrust True BusinessID with EV
certificate can only be ordered for a one year term when taking advantage of
the 30 day free trial offer.

Request parameters for sw_register (domain or


trust_service)
Standard parameters
action = sw_register
object = domain or trust_service
registrant_ip = valid IP address of the registrant (optional)
attributes

490

Attributes
Parameters within the attributes associative array are described below.
Parameter name Obligation

Definition/Value

affiliate_id

Optional

The unique identifier of an RSP's affiliate,


which allows the RSP to track orders coming
through different affiliates. Specify a valid
affiliate ID (max 256 char).

auto_renew

Optional

Used to set domain to auto-renew.

change_contact

Optional

comments

Optional

contact_set

Required

0Do not auto-renew

1Auto-renew

Used to change contact information for


.ORG, .INFO, .BIZ, .BE, .CN, .EU, .IT, .ME,
.MOBI, .UK, and .US domains during a transfer
or after transfer completion. Contact changes
are always applied for all other TLDs except for
.CA, which does not allow contact changes
during the transfer.
0Do not change contact set
1Apply new contact set
when transfer completes.
Value is always set to 1 for
.CC, .TV, .COM, .NET, and
.NAME. notes to the order, for
Adds additional
example, the additional residency information
that is required for .FR domain registrations.
A collection of associative arrays containing
contact information for each contact type
(owner, admin, billing, tech). See "Contact
Set".
Notes:
For .CA, .ES, .MX, and .US registrations, state
is required.
For .NL, state is NOT required.
For .ES domains registrations, the postal code
must correspond to the province for each of
the contacts. See .ESpostal codes for a list of
the postal code prefixes that apply to each
province.
For .IT domain registrations, if the
entity_type is anything other than 1,
org_name is required, and you must include
the admin associative array. If entity_type =
1, the admin contact is assumed to be the
same as the owner and you do not need to
submit it.

491

Parameter name Obligation


custom_
nameservers

Required for
domain
registrations

Definition/Value
An indication of whether to use the RSP's
default nameservers, or those provided in the
'sw_register' request.
0Use Reseller's default nameservers.
If set to 0 and default nameservers are
not defined, no nameservers are
associated with the domain.
Note: .TEL always uses the default
nameservers, so this value should be 0
for .TEL registrations. Any nameservers
submitted for .TEL will be ignored.

custom_transfer_
nameservers

1Use nameservers provided in


request.

Required for .EU This flag is only used if reg_type = transfer,


and indicates whether to use the nameservers
transfers - If
not submitted, provided in the request.
the nameserver
0Use the domain's existing
list is ignored
nameservers and ignore nameservers
provided in request.
1Use nameservers provided in
request. A minimum of two nameservers
must be provided. If no nameservers are
supplied, domain's nameservers are
used.
Note: For .EU transfers, this parameter must
always be set to 1.

custom_tech_
contact

Required for
domain
registrations

An indication of whether to use the RSP's tech


contact info, or the tech contact info provided
in the 'sw_register' request.

0Use Reseller's tech contact info.


1Use tech contact info provided in
request.

492

Parameter name Obligation

Definition/Value

dns_template

Specify the name of the DNS template that you


want to use to enable DNS and assign initial
DNS records, or specify *blank* to enable
DNS without defining any records.

Optional

Note: You must enter the word blank


preceded and followed by asterisks.
The template name can be a maximum of 50
characters.
If this parameter is specified, the nameservers
are automatically set to the nameservers for
the DNS service:
ns1.systemdns.com
ns2.systemdns.com
ns3.systemdns.com
For information on creating a DNS template,
see the Reseller's Guide to Domain Name
Registration and Management.
domain

Required for
domain
registrations
and domain
vetted
certificates

The domain name to be acted upon in the


sw_register request.

encoding_type

Optional

The encoding type for the domain.


Submit a valid three-character language tag.
For a list of allowed values, see "Appendix C:
Encoding Types for IDNs".
If you submit the reg_domain parameter to
link two profiles, and the previously registered
domain contains multilingual characters, the
reg_domain value must also be in Punycode
format.
For a list of the languages supported for each
TLD, see the gTLDand ccTLDReference Chart
on the OpenSRS website.

f_lock_domain

Optional

Allows you to lock the domain so that it cannot


be transferred away. To allow a transfer on a
locked domain, the domain must first be
unlocked. Even if submitted, this setting is not
applied to TLDs where locking is not supported
such as .DE, .UK, .CH, .NL, .FR, IT, BE, and AT.

f_parkp

Optional

0Do not lock domain


1Lock domain

Enables the Parked Pages Program. When the


Parked Pages Program is enabled, a

493

Parameter name Obligation

Definition/Value
customized page containing contextual ads is
displayed. The ads generate revenue whenever
a visitor clicks on one of the links, and that
revenue is shared with you, the Reseller.
Important: Enabling Parked Pages changes
the nameservers of that domain, and any
existing website will not display.
Parked Pages functionality is available for new
and transferred domain registrations for these
TLDs: .COM, .NET, .ORG, .INFO, .BIZ,
.MOBI, .NAME, .ASIA, .BE, .BZ, .CA, .CC,
.CO, .EU, .IN, .ME, .NL, .TV, .UK, .US, .WS and
.XXX .
If Parked Pages is enabled, DNS settings
entered at registration are saved for future use
and the Parked Pages nameservers are used
instead.
For transfers, the DNS settings that were
entered with the transfer request are used. If
DNS settings were not submitted at the time of
transfer, the pre-transfer DNS settings are
used. If the domain was using the Parked
Pages DNS at the time of transfer, and DNS
settings are not provided, the domain
continues to use the Parked Pages DNS.

f_whois_privacy

Optional

YEnable Parked Pages for the domain


NDo not enable Parked Pages for the
domain; this is the default.

Allows you to enable WHOIS Privacy for new


.COM, .NET, .ORG, .INFO, .BIZ, .NAME, .ME,
.MOBI, .CC, .CO, and .TV registrations.

0Disable
1Enable

handle

Required

Indicates how to process the order.


savePend the order for later approval
by the RSP.processProceed with the
order immediately.

Intended_use

Optional

Intended_use attribute is optional, but it is


recommended that you submit an appropriate
response for your .scot registration. If no
response is submitted, OpenSRS will send one
on your behalf, but we cannot guarantee it will
be accepted by the registry.
- Max characters is 2048
- It is a free form text field in API and Cont rol

494

Panel

<item
key="registrant_extra_info">
<dt_assoc>
<item key="intended_use">the
domain will support trade and development in
Scotland </item>
</dt_assoc>
</item>

Parameter name Obligation

Definition/Value

link_domains

Indicates whether to link this domain with


others.
This parameter is only used when ordering
multiple domains over multiple calls to
sw_register. Also, it is only used if the user
does not wish to associate the new
registrations with an existing domain/profile in
OpenSRS. The first sw_register call to OpenSRS
should have link_domains set to 1. The
return to this call contains an OpenSRS order
ID. This value is used as the
master_order_id in the subsequent calls to
sw_register for the remainder of the domain
list list.
0Do not link domains
1Link domains. If set to 1, the
reg_domain field should not be
specified.

Optional

Note: Only the first call to sw_register


should contain the attribute link_domains.
master_order_id

Required for
domain
registrations if
link_domains
=1

The order ID returned by the first


sw_register call for a group of domains that
are to be linked (via the link_domains
parameter).

495

nameserver_list

Required for .EU A list of nameserver pairs, each of which


contain a nameserver's name and sort order.
transfers
(Minimum two required). For allowed values,
see the Nameserver_list table below.
If dns_template is specified, the nameservers
are automatically set to the nameservers for
the DNS service:
ns1.systemdns.com
ns2.systemdns.com
ns3.systemdns.com
Important: For .EU transfers, if nameservers
are not provided, the domain name will be
stripped of its existing nameservers and will
not have any nameservers.

owner_confirm_
address

period

Required for
.DE, .BE, .EU,
and .IT
transfers
Required for
new domain
registrations
only

The email address to which to send messages


regarding a .BE, .DE, .EU or .IT transfer.
Note: The email address provided is used for
the current transfer only, and not for future
messages.
The length of the registration period. Allowed
values are 1 10, depending on the TLD, that
is, not all registries allow for a 1-year
registration. The default is 2, which is valid for
all TLDs.

496

Parameter name Obligation


premium_price_
to_verify

Optional - used
only if
reg_type =
premium

Definition/Value
Submits the premium domain price and verifies
that it is the same as the list price. If the
submitted price does not match the Tucows list
price, the command will fail.
Allowed value is the price for the premium
domain, in the format nnn.nn.

reg_domain

Optional

An existing, active domain name in OpenSRS


that is owned by the registrant. Providing this
parameter links the newly registered or
transferred domain to the profile of the
existing domain.

reg_username

Required for
domain
registrations

The username of the registrant.

reg_password

You can use any of the following alphanumeric


characters: A-Z, a-z, 0-9.

Required for
domain
registrations

The registrant's password.

reg_type

Required for
domain
registrations

The type of registration being requested:


landrushSubmit a request for a
domain during its landrush period
newA new registration
premiumRegister a Premium domain
name
transferTransfer a domain into
OpenSRS
sunriseSubmit a request for a domain
during its sunrise period
whois_privacyEnable WHOIS Privacy
for an existing domain. DEPRECATED.

tld_data

Required for
.AERO, .AR,
.ASIA, .AU,
.BR, .CL,
.COOP, .DE,
.DK, .FI,
.FR, .HK,
.HU, .IT, .JOBS,
.LV, .MX,
.MY, .NO,
.NU, .NYC, .PM,
.PRO, .PT,
.RE, .RO,

An associative array that contains additional


information required by the registry, such as
the residency of the registrant. If you submit
a request that contains this array, you must
also include data = tld_data.

You can use any of the following alphanumeric


characters and symbols: A-Z, a-z, 0-9, []()!
@\$^,.~|=-+_{}#"

Allowed values are:


au_registrant_infoEligibility
requirements for.AU registrants.
ced_infoCharter Eligibility Declaration
(CED) information for .ASIA domains.
ipr_dataSponsored Community

497

Parameter name Obligation


.RU, .SE,
.SG, .TF,
.US. .WF, .YT,
and .ZA
domains.
Optional for
.XXX domains.

Definition/Value

information associated with .XXX


domains.
it_registrant_infoRegional
presence requirements for .IT
domains.
nexusAmerican presence
requirements for .US domains.
professional_dataThe professional
designation information that is
associated with the .PRO domain.
registrant_extra_infoRegional
presence requirements for various
ccTLDs such as .FR and .NYC, or
industry requirements for .JOBS
domains or .AERO domains.

For information on the allowed values for each


of these, see tld_data.

trademark_smd

Required for
Sunrise orders
of the new
gTLDs

The Signed Mark Data (SMD) that is issued by


the Trademark Clearinghouse (TMCH) when
the corresponding trademark is registered
with TMCH, and which serves as proof of
trademark rights.
When submitting sunrise orders for the new
gTLDs, you must also submit the following
parameters and values: reg_type = sunrise
and handle = save.

Nameserver pair
Each element of the nameserver_list array contains the following pair,
expressed as an associative array:
Parameter
name

Obligation

Definition/Value

name

Required

The fully qualified domain of the nameserver.

sortorder

Required

The sort order of the nameserver.


sortorder values must start at 1 and should not
contain any gaps in sequence.

498

.BE registrations and transfers


Specific parameters and required values for .BE
.BE registrations require just two contact types: owner and tech. Admin and
billing contacts are not required for .BE registrations and are ignored if
submitted. The owner and tech contact sets require the standard fields and
values, plus specific values for the lang field.
Note: During a .BE transfer, contact changes are only accepted for owner
name and organization. Changes to contact fields other than owner name
and organization must be submitted after the transfer is completed.

Attributes

Parameters within the attributes associative array are described below.


Parameter name

Obligation

Definition/Value

owner_confirm_address

Required

The email address to which to send


messages regarding a .BE transfer. The
email address provided is used for the
current transfer only, and not for future
messages.

Owner and Tech


Parameters within the owner and tech associative arrays are described
below.
Parameter
name

Obligation

Definition/Value

lang

Required

The preferred language for use in the registration


agreement and for dispute resolution:

enEnglish

frFrench

nlDutch

499

.CA registrations
Specific parameters and required values for .CA
Parameters within the attributes associative array are described below.
Parameter
name

Obligation

Definition/Value

legal_type

Required

Domain name owner's legal classification:


ABOAboriginal
ASSAssociation
CCOCanadian Corporation
CCTCanadian Citizen
EDUEducational Institution
GOVGovernment
HOPHospital
INBIndian Band
LAMLibrary, Archive, or Museum
LGRLegal Representative
MAJHer Majesty the Queen
OMKProtected by Trademarks Act
PLTPolitical Party
PRTPartnership
RESPermanent Resident
TDMTrademark Owner
TRDTrade Union
TRSTrust

Deprecated
The following parameters have been deprecated. If these parameters are
used in your current integration, the command will continue to work;
however, the values will be ignored.
Parameter
name

Obligation

Definition/Value

ca_link_domain

Deprecated

If rant_no = a valid CIRA registrant number,


any information in ca_link_domain is ignored.
If rant_no = 0 and ca_link_domain=1, the
.CA domain from the reg_domain field is used
to obtain the CIRA Registrant number to link
the new domain to the existing CIRA

500

Parameter
name

Obligation

Definition/Value
Registrant profile.
Allowed values are:

cwa

Deprecated

0Don't use the .CA domain from


reg_domain to link to CIRA profile.
1Use the .CA domain from
reg_domain field to obtain CIRA
Registrant number to link domain.

Indicates whether contact information can be


changed without approval from CIRA.
Note: This parameter only works when
creating a CIRA Registrant profile.
0Contact information cannot be
changed without approval from CIRA.
The letter that CIRA sends to the
registrant upon successful registration
does not mention the CWA setting.
1Contact information can be changed
without approval from CIRA.
The letter that CIRA sends to the
registrant upon successful registration
asks for confirmation of this setting.

domain_description Deprecated

Description of the domain.

isa_trademark

A flag indicating whether the domain name is


a trademark.

Deprecated

rant_agrees

Deprecated

0No
1Yes

Indicates whether the registrant has read and


agrees with the CIRA Registrant Agreement.
The CIRA Registrant Agreement can be found
at https://rr-n1tor.opensrs.net/cira_agreement.cgi.
This parameter only works when creating a
CIRA Registrant profile.
Note: Each registrant only needs to agree to
the CIRA terms and conditions once.
0Registrant does not confirm
agreement with CIRA's terms and
conditions at the time the order is
placed. In this case, they will receive an
email asking for confirmation, and the
domain registration is not processed
until agreement is

501

Parameter
name

Obligation

Definition/Value
confirmed.

1Registrant agrees with the CIRA


terms and conditions, and the
registration is processed immediately;
the confirmation email is not sent.

Note: If rant_no = a valid CIRA registrant


number or ca_link_domain = 1, rant_agrees
is ignored.
rant_no

Deprecated

Used if you want to base the new domain's


contact information on an existing CIRA
Registrant profile. Valid values are 0 or a
valid CIRA Registrant number.

0No existing CIRA registrant number


or don't know CIRA Registrant number.

.EU registrations and transfers


.EU registrations require just two contact types: owner and tech. The admin
and billing contacts are not required for .EU registrations and are ignored if
submitted. The owner and tech contact sets require the standard fields and
values, plus specific values for the fields country and lang.
As of December 10, 2009, .EU supports IDNs. The IDN name must be
submitted in ACE (Punycode) encoding, and all characters in the name before
it is converted to Punycode must conform to .EU requirements. For more
information on .EU IDNs, see http://www.eurid.eu/en/eu-domainnames/idns-eu.
Tip: Individual .EU domain registrants can keep their name private in the
WHOIS record by leaving the owner org_name field blank.
For .EU transfers, you must specify the domain's nameservers. If no
nameservers are provided, the domain name will be stripped of its existing
nameservers and not have any nameservers.
Important: If org_name is not applicable, leave the org_name field blank,
that is, do not enter na or none; otherwise the trade or transfer will fail.

Attributes
Parameters within the attributes associative array are described below.
502

Parameter name

Obligation

Definition/Value

owner_confirm_address

Required for
.EU transfers

The email address to which to send


messages regarding a .EU transfer. The
email address provided is used for the
current transfer only, and not for future
messages.

Owner and Tech


Parameters within the owner and tech associative arrays are described
below.
Parameter
name

Obligation

Definition/Value

country

Required for .EU


registrations

To be eligible to register a .EU domain, you


must have residency in one of the
countries/regions designated by EURid, the .EU
registry.
GBUnited Kingdom ATAustria
(GB)
AXAland Islands

BEBelgium CY

Cyprus

CZCzech Republic

DEGermany

DKDenmark EE

Estonia

ESSpain FI

Finland

FRFrance GI

Gibraltar

GFFrench Guyana

GPGuadeloupe

GRGreece HU

Hungary

IEIreland IT

Italy

LTLithuania LU

Luxembourg

LVLatvia

MQMartinique

MTMalta (including
Gozo and Comino)

NLNetherlands

PLPoland PT

Portugal

REReunion SE

Sweden

SISlovenia SK

Slovakia

lang

Required for .EU


registrations

The preferred language for use in the


registration agreement and for dispute
resolution.

503

Parameter
name

Obligation

Definition/Value
csCzech

daDanish

deGerman

elGreek en

English

esSpanish

etEstonian

fiFinnish fr

French

huHungarian

itItalian

ltLithuanian

lvLatvian

mtMaltese

nlDutch

plPoland pt

Portuguese

skSlovak sl

Slovenian

svSwedish

.IT transfers
Specific parameters and required values for .IT transfers
Parameters within the attributes associative array are described below.
Parameter
name

Obligation Definition/Value
Used to change contact information during a transfer
or after transfer completion.

change_contact Optional

0Do not change contact set


1Apply new contact set when transfer
completes

Important: If change_contact = 1, then you


must also include a tld_data associative array.
owner_confirm
_address

Required

The email address to which to send messages


regarding a .IT transfer.
Note: The email address provided is used for the
current transfer only, and not for future messages.

.MOBI registrations
.MOBI applications use the sw_register command with the standard
parameters. Specific parameters and required values are described below.
Domain names can be registered for one to ten year terms.

504

Nameservers
You must submit the correct nameservers with your application. If you are
unsure which nameservers to submit with your application, submit the
OpenSRS nameservers ns1.systemdns.com and ns2.systemdns.com.

Specific parameters and required values for .MOBI


applications
Attributes
Parameters within the attributes associative array are described below.
Parameter
name

Obligati
on

Definition/Value

period

Required

The registration term (if application results in successful


registration); may be 1 to 10 years.

reg_type

Required

The type of registration. Allowed value is new.

.NAME registrations
Specific parameters and required values for .NAME
Parameters within the attributes associative array are described below.
Parameter
name

Obligation

Definition/Value

tld_data

Optional for .NAME (if email


bundle)

An associative array containing TLDspecific data.

forwarding-emailFor .NAME
domains

505

Response parameters for sw_register (domain or


trust_service)
The Reseller Agent (RSA) can respond with a 250 response_code, which
indicates that the action was submitted for processing in an asynchronous
registry. When the registry's reply is received by OpenSRS, it is processed.
Performing a set cookie or get userinfo command indicates if there is an
action currently waiting on a domain.

Standard parameters
action = reply
object = domain or trust_service
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

506

Domain order attributes


If the request is successful, the attributes associative array may include the
following:
Parameter name

Obligation

Definition/Value

admin_email

Optional

Returns the admin email contact from


the order.

async_reason

Returned for
Indicates the reason that the request
asynchronous requests was asynchronous. Allowed values
are:

generalOrder was
submitted to an asynchronous
registry.

has_claimRegistrant action
required before order can
complete.

cancelled_orders

Optional

A list of pending orders for this


domain that are cancelled by the
successful registration of the domain.

error

Returned when an
order fails.

A text description of the errors that


occurred in a failed transaction.

forced_pending

Returned if the order


has been forced to
pending queue.

Orders that cannot be processed


(insufficient funds, domain already
taken, and so on) are forced to the
pending queue.

id

Returned if
is_success = true

The ID of the order, which can be


used in RWI queries.

queue_request_id

Returned if the order


has been queued.

The ID of the request as it appears in


the queue.

registration_code

Returned if
is_success = true

The registration code returned by the


registry.

registration_text

Returned if is_success The registration text returned by the


registry.
= true

transfer_id

Returned if
reg_type=transfer

whois_privacy_state

Returned if is_success Returns the state of WHOIS Privacy.


Allowed values are enabled,
= true
disabled, enabling (in process), or
disabling (in process).

ID number of the transfer.

507

Trust Service order attributes


Parameters within the attributes associative array for Trust Service orders
are described below.
Parameter name Obligation

Definition/Value

domain

Returned for domain The domain with which the Trust Service
vetted certificates
is associated.

order_id

Always returned

The ID number of the Trust Service order.

state

Always returned

The state of the order. Allowed values


are:

approver-confirmedOwner
has confirmed the domain vetted
certificate.

awaiting-approvalOrder
processed successfully; waiting
for supplier approval.

cancelledPending order was


cancelled.

completedOrder is complete.

declinedOrder cancelled after it


was processed or declined by the
supplier.

in-progressOrder is in
progress.

pendingOrder saved as
pending.

508

Domain registration examples


For domain = .COM, .NET, .ORG, .INFO, .BIZ, .NAME, .ME,
and .MOBI
Example 1
About this example:

This is a new domain name registration.


This registration creates a new user profile.
No custom tech contact is set.
Custom nameservers are set.
WHOIS Privacy feature enabled at time of registration.
Parked Pages service activated (for qualifying TLDs).
User is requesting the domain to lock once it is registered.
Two pending orders are cancelled by the successful registration of this
domain.

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">SW_REGISTER</item>
<item key="object">DOMAIN</item>
<item key="registrant_ip">10.0.10.19</item>
<item key="attributes">
<dt_assoc>
<item key="auto_renew"/>
<item key="link_domains">0</item>
<item key="reg_domain"/>
<item key="f_lock_domain">1</item>
<item key="f_whois_privacy">1</item>

509

<item key="f_parkp">Y</item>
<item key="domain">example.com</item>
<item key="affiliate_id"/>
<item key="period">1</item>
<item key="reg_type">new</item>
<item key="comments">Sample comment</item>
<item key="reg_username">daniel</item>
<item key="custom_tech_contact">0</item>
<item key="contact_set">
... see "Contact Set"
</item>
<item key="nameserver_list">
<dt_array>
<item key="0">
<dt_assoc>
<item key="sortorder">1</item>
<item key="name">ns1.systemdns.com</item>
</dt_assoc>
</item>
<item key="1">
<dt_assoc>
<item key="sortorder">2</item>
<item key="name">ns2.systemdns.com</item>
</dt_assoc>
</item>
</dt_array>
</item>
<item key="reg_password">daniel</item>
<item key="encoding_type"/>
<item key="custom_nameservers">1</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

510

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">DOMAIN</item>
<item key="is_success">1</item>
<item key="response_code">200</item>
<item key="response_text">
Domain registration successfully completed. WHOIS
Privacy successfully enabled. Domain successfully locked.
</item>
<item key="attributes">
<dt_assoc>
<item key="admin_email">jsmith@example.com</item>
<item key="whois_privacy_state">enabled</item>
<item key="registration_text">Domain registration
successfully completed. WHOIS Privacy successfully enabled. Domain
successfully locked.</item>
<item key="registration_code">200</item>
<item key="id">3735281</item>
<item key="cancelled_orders">
<dt_array>
<item key="0">3764860</item>
<item key="1">3764861</item>
</dt_array>
</item>
</dt_assoc>
</item>

511

</dt_assoc>
</data_block>
</body>
</OPS_envelope>

Example 2
About this example:

This is a new domain name registration.


This registration is based on another domain (example.com).
No custom tech contact is set.
DNS template is applied.

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">SW_REGISTER</item>
<item key="object">DOMAIN</item>
<item key="registrant_ip">10.0.10.19</item>
<item key="attributes">
<dt_assoc>
<item key="auto_renew"/>
<item key="link_domains">0</item>
<item key="dns_template">newdnstemplate</item>
<item key="custom_tech_contact">0</item>
<item key="contact_set">
... see "Contact Set"
</item>
<item key="reg_domain">example.com</item>
<item key="f_lock_domain">0</item>

512

<item key="domain">example.net</item>
<item key="affiliate_id"/>
<item key="period">10</item>
<item key="reg_type">new</item>
<item key="reg_username">daniel</item>
<item key="reg_password">daniel</item>
<item key="custom_nameservers">0</item>
<item key="encoding_type"/>
</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">DOMAIN</item>
<item key="is_success">1</item>
<item key="response_code">200</item>
<item key="response_text">Domain registration successfully
completed.</item>
<item key="attributes">
<dt_assoc>
<item key="registration_code">435</item>
<item key="id">3735283</item>
<item key="forced_pending">3735283</item>

513

</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

Example 3
About this example:

This is a new domain name registration.


No custom tech contact is set.
DNS is enabled but no records are defined.

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">SW_REGISTER</item>
<item key="object">DOMAIN</item>
<item key="registrant_ip">10.0.10.19</item>
<item key="attributes">
<dt_assoc>
<item key="dns_template">*blank*</item>
<item key="auto_renew"/>
<item key="link_domains">0</item>
<item key="reg_domain"/>
<item key="f_lock_domain">1</item>
<item key="f_whois_privacy">1</item>
<item key="f_parkp">Y</item>
<item key="domain">example.com</item>
<item key="affiliate_id"/>

514

<item key="period">1</item>
<item key="reg_type">new</item>
<item key="reg_username">daniel</item>
<item key="custom_tech_contact">0</item>
<item key="contact_set">
... see "Contact Set"
</item>
<item key="reg_password">daniel</item>
<item key="encoding_type"/>
<item key="custom_nameservers">1</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="object">DOMAIN</item>
<item key="response_text">Domain registration successfully completed
Domain successfully locked.
Whois Privacy successfully enabled.</item>
<item key="action">REPLY</item>
<item key="attributes">
<dt_assoc>
<item key="admin_email">email@example.com</item>

515

<item key="registration_text">Domain registration successfully


completed
Domain successfully locked.
Whois Privacy successfully enabled.</item>
<item key="registration_code">200</item>
<item key="id">177411</item>
</dt_assoc>
</item>
<item key="response_code">200</item>
<item key="is_success">1</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

516

For domain = .AERO


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">sw_register</item>
<item key="object">domain</item>
<item key="attributes">
<dt_assoc>
<item key="handle">process</item>
<item key="reg_username">aaaa</item>
<item key="reg_password">aaaa</item>
<item key="auto_renew">0</item>
<item key="link_domains">0</item>
<item key="f_whois_privacy">1</item>
<item key="f_lock_domain">1</item>
<item key="custom_tech_contact">1</item>
<item key="contact_set">
</item>
... see "Contact Set"
<item key="domain">example.aero</item>
<item key="affiliate_id"/>
<item key="period">1</item>
<item key="reg_type">new</item>
<item key="bulk_order">0</item>
<item key="nameserver_list">
<dt_array>
<item key="0">

517

<dt_assoc>
<item key="sortorder">1</item>
<item key="name">ns1.systemdns.com</item>
</dt_assoc>
</item>
<item key="1">
<dt_assoc>
<item key="sortorder">2</item>
<item key="name">ns2.systemdns.com</item>
</dt_assoc>
</item>
</dt_array>
</item>
<item key="encoding_type"/>
<item key="action">register</item>
<item key="custom_nameservers">1</item>
<item key="tld_data">
<dt_assoc>
<item key="registrant_extra_info">
<dt_assoc>
<item key="aero_ens_password">EnsPa55w0rd</item>
<item key="aero_ens_id">EnsId</item>
</dt_assoc>
</item>
</dt_assoc><
/item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

518

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">DOMAIN</item>
<item key="response_code">250</item>
<item key="is_success">1</item>
<item key="response_text">Domain registration successfully
submitted</item>
<item key="rr_id">13689</item>
<item key="transaction_id">2012-05-16 09:10:36 1250 101</item>
<item key="domain_id">707819</item>
<item key="attributes">
<dt_assoc>
<item key="registration_text">Domain registration successfully
submitted</item>
<item key="admin_email">adler@example.com</item>
<item key="registration_code">300</item>
<item key="waiting_request">sw_register</item>
<item key="waiting_requests_no">1</item>
<item key="id">477659</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

519

For domain = .ASIA


About this example:

This is a new domain name registration


The required ASIA-specific data is contained in the ced_info associative
array.

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'>SW_REGISTER</item>
<item key='object'>DOMAIN</item>
<item key='attributes'>
<dt_assoc>
<item key='custom_tech_contact'>0</item>
<item key='auto_renew'>0</item>
<item key='reg_type'>new</item>
<item key='reg_username'>sanford</item>
<item key='reg_password'>mypass</item>
<item key='domain'>example.asia</item>
<item key='nameserver_list'>
<dt_array>
<item key='0'>
<dt_assoc>
<item key='sortorder'>1</item>
<item key='name'>ns1.systemdns.com</item>
</dt_assoc>
</item><item key='1'>
<dt_assoc>

520

<item key='sortorder'>2</item>
<item key='name'>ns2.systemdns.com</item>
</dt_assoc>
</item>
</dt_array>
</item>
<item key='contact_set'>
... see "Contact Set"
</item>
<item key='tld_data'>
<dt_assoc>
<item key='ced_info'>
<dt_assoc>
<item key='locality_country'>JP</item>
<item key='legal_entity_type'>naturalPerson</item>
<item key='id_type'>passport</item>
<item key='id_number'>12345</item>
<item key='contact_type'>admin</item>
</dt_assoc>
</item>
</dt_assoc>
</item>
<item key='period'>1</item>
<item key='custom_nameservers'>0</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

521

Response
<?xml version='1.0' encoding='UTF-8' standalone='no' ?>

522

<!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'>DOMAIN</item>
<item key='is_success'>1</item>
<item key='response_code'>200</item>
<item key='response_text'>Domain registration successfully
completed</item>
<item key='attributes'>
<dt_assoc>
<item key='registration_text'>Domain registration
successfully completed</item>
<item key='registration_code'>200</item>
<item key='id'>96852687</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

523

For domain = .AU


Request
Note: .AU registrations require two contact types: owner and tech.
<?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'>SW_REGISTER</item>
<item key='object'>DOMAIN</item>
<item key='attributes'>
<dt_assoc>
<item key='reg_type'>new</item>
<item key='domain'>example.com.au</item>
<item key='period'>2</item>
<item key='link_domains'>0</item>
<item key='f_lock_domain'>1</item>
<item key='auto_renew'>0</item>
<item key='reg_domain'/>
<item key='reg_username'>user123</item>
<item key='reg_password'>changeit</item>
<item key='tld_data'>
<dt_assoc>
<item key='au_registrant_info'>
<dt_assoc>
<item key='registrant_name'>Registered Company
Name Ltd</item>

524

Business</item> CTO</item>

<item key='registrant_id_type'>ABN</item>
<item key='policy_reason'>1</item>
<item key='registrant_id'>99 999 999 999</item>
<item key='eligibility_type'>Registered
<item key='eligibility_name'>Don Marshall
<item key='eligibility_id_type'>ACN</item>
<item key='eligibility_id'>99999999</item>
</dt_assoc>
</item>
</dt_assoc>
</item>
<item key='custom_tech_contact'>1</item>
<item key='contact_set'>
... see "Contact Set"
</item>
<item key='custom_nameservers'>1</item>
<item key='nameserver_list'>
<dt_array>
<item key='0'>
<dt_assoc>
<item key='sortorder'>1</item>
<item key='name'>ns1.systemdns.com</item>
</dt_assoc>
</item>
<item key='1'>
<dt_assoc>
<item key='sortorder'>2</item>
<item key='name'>ns2.systemdns.com</item>
</dt_assoc>
</item>
</dt_array>
</item>

525

</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="object">DOMAIN</item>
<item key="response_text">OK</item>
<item key="action">REPLY</item>
<item key="attributes">
<dt_assoc>
<item key="admin_email">admin@example.com</item>
<item key="registration_text">Domain registration successfully
completed Domain successfully locked.</item>
<item key="registration_code">200</item>
<item key="id">417011</item>
</dt_assoc>
</item>
<item key="response_code">200</item>
<item key="is_success">1</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

526

For domain = .CA


About this example:

This is a new domain name registration.


Neither custom tech nor custom nameservers are supplied.

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">SW_REGISTER</item>
<item key="object">DOMAIN</item>
<item key="attributes">
<dt_assoc>
<item key="custom_tech_contact">0</item>
<item key="auto_renew">0</item>
<item key="reg_type">new</item>
<item key="reg_username">test</item>
<item key="domain">example.ca</item>
<item key="contact_set">
... see "Contact Set"
</item>
<item key="domain_description">this is a domain
description</item>
<item key="link_domains">0</item>
<item key="period">1</item>
<item key="reg_password">passwd</item>
<item key="legal_type">CCT</item>
<item key="reg_domain"/>
<item key="custom_nameservers">0</item>

527

</dt_assoc>
</item>
<item key="nameserver_list">
<dt_array>
<item key="0">
<dt_assoc>
<item key="sortorder">1</item>
<item key="name">ns1.systemdns.com</item>
</dt_assoc>
</item>
<item key="1">
<dt_assoc>
<item key="sortorder">2</item>
<item key="name">ns2.systemdns.com</item>
</dt_assoc>
</item>
</dt_array>
</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'>DOMAIN</item>

528

<item key='response_code'>250</item>
<item key='response_text'>Domain registration successfully
submitted</item>
<item key='is_success'>1</item>
<item key='parameters'>
<dt_array>
<item key='0'>
<dt_assoc>
</dt_assoc>
</item>
<item key='1'>
<dt_assoc>
<item key='attributes'>
<dt_assoc>
</dt_assoc>
</item>
</dt_assoc>
</item>
</dt_array>
</item>
<item key='rr_id'>839480</item>
<item key='domain_id'>14532389</item>
<item key='attributes'>
<dt_assoc>
<item key='registration_text'>Domain registration
successfully submitted</item>
<item key='admin_email'>fraser@example.ca</item>
<item key='registration_code'>300</item>
<item key='waiting_requests_no'>1</item>
<item key='id'>56726064</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

or domain = .COM.BR
529

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="object">DOMAIN</item>
<item key="action">SW_REGISTER</item>
<item key="attributes">
<dt_assoc>
<item key="tld_data">
<dt_assoc>
<item key="br_register_number">114.113.111-11</item>
</dt_assoc>
</item>
<item key="reg_type">new</item>
<item key='handle'>process</item>
<item key="domain">mybraziliandomain.com.br</item>
<item key="period">1</item>
<item key='reg_domain'/>
<item key='reg_username'>username</item>
<item key='reg_password'>changeit123</item>
<item key="custom_tech_contact">1</item>
<item key="contact_set">
... see "Contact Set"
</item>
<item key="custom_nameservers">1</item>
<item key="nameserver_list">
<dt_array>
<item key="0">

530

<dt_assoc>
<item key="name">ns1.livednsservice.com</item>
<item key="sortorder">1</item>
</dt_assoc>
</item>
<item key="1">
<dt_assoc>
<item key="name">ns2.livednsservice.com</item>
<item key="sortorder">2</item>
</dt_assoc>
</item>
<item key="2">
<dt_assoc>
<item key="name">ns3.livednsservice.com</item>
<item key="sortorder">3</item>
</dt_assoc>
</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>

531

<item key="protocol">XCP</item>
<item key="action">REPLY</item>
<item key="object">DOMAIN</item>
<item key="response_code">250</item>
<item key="is_success">1</item>
<item key="rr_id">6466</item>
<item key="response_text">Domain registration successfully
submitted</item>
<item key="transaction_id">2011-04-14 18:12:39 25830 101</item>
<item key="domain_id">256808</item>
<item key="attributes">
<dt_assoc>
<item key="registration_text">Domain registration
successfully submitted</item>
<item key="admin_email">ajobim12345@somedomain.com.br</item>
<item key="registration_code">300</item>
<item key="waiting_requests_no">1</item>
<item key="waiting_request">sw_register</item>
<item key="id">296660</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

For domain = .DE


Note: Submit .DE zone contact information as contact type billing.

Request
<?xml version='1.0' encoding='UTF-8' standalone='no' ?>
<!DOCTYPE OPS_envelope SYSTEM 'ops.dtd'>
<OPS_envelope>
<header>
<version>0.9</version>
</header>

532

<body>
<data_block>
<dt_assoc>
<item key='protocol'>XCP</item>
<item key='action'>SW_REGISTER</item>
<item key='object'>DOMAIN</item>
<item key='attributes'>
<dt_assoc>
<item key='f_lock_domain'>0</item>
<item key='custom_tech_contact'>1</item>
<item key='auto_renew'>1</item>
<item key='affiliate_id'>affiliatetest1</item>
<item key='reg_type'>new</item>
<item key='reg_username'>andrew</item>
<item key='domain'>example.de</item>
<item key='contact_set'>
... see "Contact Set"
</item>
<item key='f_whois_privacy'>0</item>
<item key='nameserver_list'>
<dt_array>
<item key='0'>
<dt_assoc>
<item key='sortorder'>1</item>
<item key='name'>ns1.systemdns.com</item>
</dt_assoc>
</item>
<item key='1'>
<dt_assoc>
<item key='sortorder'>2</item>
<item key='name'>ns2.systemdns.com</item>
</dt_assoc>
</item>
<item key='2'>
<dt_assoc>

533

<item key='sortorder'>3</item>
<item key='name'>ns3.systemdnssystemdns.com</item>
</dt_assoc>
</item>
</dt_array>
</item>
<item key='link_domains'>0</item>
<item key='tld_data'>
<dt_assoc>
<item key='registrant_extra_info'>
<dt_assoc>
<item key='registrant_type'>individual</item>
</dt_assoc>
</item>
</dt_assoc>
</item>
<item key='period'>1</item>
<item key='reg_password'>test</item>
<item key='bulk_order'>0</item>
<item key='reg_domain'/>
<item key='custom_nameservers'>1</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>

534

<data_block>
<dt_assoc>
<item key='protocol'>XCP</item>
<item key='action'>REPLY</item>
<item key='object'>DOMAIN</item>
<item key='response_code'>200</item>
<item key='is_success'>1</item>
<item key='response_text'>Domain registration successfully
completed</item>
<item key='attributes'>
<dt_assoc>
<item key='registration_text'>Domain registration
successfully completed</item>
<item key='admin_email'>robson@example.com</item>
<item key='registration_code'>200</item>
<item key='id'>607737</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

535

For domain = .DK


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'>SW_REGISTER</item>
<item key='object'>DOMAIN</item>
<item key='attributes'>
<dt_assoc>
<item key='custom_tech_contact'>1</item>
<item key='auto_renew'>1</item>
<item key='affiliate_id'>affiliatetest1</item>
<item key='reg_type'>new</item>
<item key='reg_username'>test</item>
<item key='domain'>example.dk</item>
<item key='contact_set'>
... see "Contact Set"
</item>
<item key='nameserver_list'>
<dt_array>
<item key='0'>
<dt_assoc>
<item key='sortorder'>1</item>
<item key='name'>ns1.systemdns.com</item>
</dt_assoc>
</item>
<item key='1'>
<dt_assoc>

536

<item key='sortorder'>2</item>
<item key='name'>ns2.systemdns.com</item>
</dt_assoc>
</item>
</dt_array>
</item>
<item key='link_domains'>0</item>
<item key='tld_data'>
<dt_assoc>
<item key='registrant_extra_info'>
<dt_assoc>
<item key='registrant_vat_id'>123456789</item>
<item key='registrant_type'>organization</item>
</dt_assoc>
</item>
</dt_assoc>
</item>
<item key='period'>1</item>
<item key='reg_password'>test</item>
<item key='bulk_order'>0</item>
<item key='reg_domain'/>
<item key='custom_nameservers'>1</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

537

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'>DOMAIN</item>
<item key='response_code'>250</item>
<item key='is_success'>1</item>
<item key='response_text'>Domain registration successfully
submitted</item>
<item key='rr_id'>29910</item>
<item key='domain_id'>753996</item>
<item key='transaction_id'>2013-10-01 12:00:49 1402 101</item>
<item key='attributes'>
<dt_assoc>
<item key='registration_text'>Domain registration
successfully submitted</item>
<item key='admin_email'>robson@example.com</item>
<item key='registration_code'>300</item>
<item key='waiting_request'>sw_register</item>
<item key='waiting_requests_no'>1</item>
<item key='id'>607640</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

538

For domain = .EU


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">SW_REGISTER</item>
<item key="object">DOMAIN</item>
<item key="registrant_ip"/>
<item key="attributes">
<dt_assoc>
<item key="domain">example.eu</item>
<item key="period">1</item>
<item key="reg_username">test</item>
<item key="reg_password">test</item>
<item key="custom_nameservers">0</item>
<item key="handle">process</item>
<item key="reg_domain"/>
<item key="reg_type">new</item>
<item key="contact_set">
... see "Contact Set"
</item>
<item key="custom_tech_contact">1</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

539

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">DOMAIN</item>
<item key="is_success">1</item>
<item key="response_code">200</item>
<item key="response_text">Domain registration successfully
completed</item>
<item key="attributes">
<dt_assoc>
<item key="registration_text">Domain registration
successfully completed</item>
<item key="registration_code">200</item>
<item key="id">16629</item>
<item key="admin_email">jsmith@example.com</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

540

For domain = .FR


Request
<?xml version='1.0' encoding='UTF-8'?>
<OPS_envelope>
<header>
<version>0.9</version>
</header>
<body>
<data_block>
<dt_assoc>
<item key='protocol'>XCP</item>
<item key='action'>SW_REGISTER</item>
<item key='object'>DOMAIN</item>
<item key='attributes'>
<dt_assoc>
<item key='custom_tech_contact'>1</item>
<item key='auto_renew'>1</item>
<item key='reg_type'>new</item>
<item key='reg_username'>Andre</item>
<item key='domain'>example.fr</item>
<item key="contact_set">
... see "Contact Set"
</item>
<item key='nameserver_list'>
<dt_array>
<item key='0'>
<dt_assoc>
<item key='sortorder'>1</item>
<item key='name'>ns1.systemdns.com</item>
</dt_assoc>
</item>

541

<item key='1'>
<dt_assoc>
<item key='sortorder'>2</item>
<item key='name'>ns2.systemdns.com</item>
</dt_assoc>
</item>
</dt_array>
</item>
<item key='link_domains'>0</item>
<item key='tld_data'>
<dt_assoc>
<item key='registrant_extra_info'>
<dt_assoc>
<item key='date_of_birth'>1989-03-03</item>
<item key='place_of_birth'>Paris</item>
<item key='country_of_birth'>FR</item>
<item key='postal_code_of_birth'>75008</item>
<item key='registrant_type'>individual</item>
</dt_assoc>
</item>
</dt_assoc>
</item>
<item key='period'>1</item>
<item key='reg_password'>changeit</item>
<item key='bulk_order'>0</item>
<item key='reg_domain'/>
<item key='custom_nameservers'>1</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

542

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'>DOMAIN</item>
<item key='is_success'>1</item>
<item key='response_code'>200</item>
<item key='response_text'>Domain registration successfully
completed</item>
<item key='attributes'>
<dt_assoc>
<item key='registration_text'>Domain registration
successfully completed</item>
<item key='admin_email'>andre@example.com</item>
<item key='registration_code'>200</item>
<item key='id'>457700</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

543

For domain = .HU


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'>SW_REGISTER</item>
<item key='object'>DOMAIN</item>
<item key='attributes'>
<dt_assoc>
<item key='f_lock_domain'>1</item>
<item key='custom_tech_contact'>1</item>
<item key='auto_renew'>1</item>
<item key='reg_type'>new</item>
<item key='reg_username'>zoltan</item>
<item key='domain'>example.hu</item>
<item key='contact_set'>
<dt_assoc>
<item key='admin'>
<dt_assoc>
<item key='first_name'>Daniel</item>
<item key='last_name'>Nagy</item>
<item key='address1'>Bem rakpart 49</item>
<item key='address2'/>
<item key='address3'/>
<item key='city'>Budapest</item>
<item key='state'/>
<item key='postal_code'>H-1037</item>
<item key='country'>HU</item>

544

<item key='org_name'>Varga Szoftver</item>


<item key='phone'>+1.3615550123</item>
<item key='fax'>+1.3615553653</item>
<item key='email'>dnagy@example.com</item>
</dt_assoc>
</item>
<item key='owner'>
<dt_assoc>
<item key='first_name'>Zoltan</item>
<item key='last_name'>Varga</item>
<item key='org_name'>Varga Szoftver</item>
<item key='address1'>Bem rakpart 49</item>
<item key='address2'/>
<item key='address3'/>
<item key='city'>Budapest</item>
<item key='state'/>
<item key='postal_code'>H-1037</item>
<item key='country'>HU</item>
<item key='fax'>+1.3615553651</item>
<item key='phone'>+1.3615550124</item>
<item key='email'>zoltan@example.com</item>
</dt_assoc>
</item>
<item key='tech'>
<dt_assoc>
<item key='first_name'>Paul</item>
<item key='last_name'>Farkas</item>
<item key='org_name'>Varga Szoftver</item>
<item key='address1'>Bem rakpart 49</item>
<item key='address2'/>
<item key='address3'/>
<item key='city'>Budapest</item>
<item key='state'/>
<item key='postal_code'>H-1037</item>
<item key='country'>HU</item>
<item key='fax'>+1.3615553652</item>

545

<item key='phone'>+1.3615550125</item>
<item key='email'>pfarkas@example.com</item>
</dt_assoc>
</item>
</dt_assoc>
</item>
<item key='f_whois_privacy'>0</item>
<item key='nameserver_list'>
<dt_array>
<item key='0'>
<dt_assoc>
<item key='sortorder'>1</item>
<item key='name'>ns1.systemdns.com</item>
</dt_assoc>
</item>
<item key='1'>
<dt_assoc>
<item key='sortorder'>2</item>
<item key='name'>ns2.systemdns.com</item>
</dt_assoc>
</item>
<item key='2'>
<dt_assoc>
<item key='sortorder'>3</item>
<item key='name'>ns3.systemdns.com</item>
</dt_assoc>
</item>
</dt_array>
</item>
<item key='link_domains'>0</item>
<item key='tld_data'>
<dt_assoc>
<item key='registrant_extra_info'>
<dt_assoc>
<item key='registrant_vat_id'>12345678</item>

546

<item key='registrant_type'>organization</item>
</dt_assoc>
</item>
</dt_assoc>
</item>
<item key='period'>1</item>
<item key='reg_password'>changeit</item>
<item key='bulk_order'>0</item>
<item key='reg_domain'/>
<item key='custom_nameservers'>1</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

547

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'>DOMAIN</item>
<item key='response_code'>250</item>
<item key='is_success'>1</item>
<item key='response_text'>Domain registration successfully
submitted</item>
<item key='domain_id'>709245</item>
<item key='transaction_id'>2012-06-19 13:49:57 1277 101</item>
<item key='attributes'>
<dt_assoc>
<item key='registration_text'>Domain registration
successfully submitted</item>
<item key='admin_email'>admin@example.com</item>
<item key='registration_code'>300</item>
<item key='waiting_request'>sw_register</item>
<item key='waiting_requests_no'>1</item>
<item key='id'>480990</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

548

For domain = .INFO


About this example:

This is a new domain name registration.


It is based on another domain (example-nsi.com).
There is a custom tech contact.
There are no custom nameservers (notice the presence of the empty
nameserver_list array, which is permitted).

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">SW_REGISTER</item>
<item key="object">DOMAIN</item>
<item key="registrant_ip">10.0.10.19</item>
<item key="attributes">
<dt_assoc>
<item key="auto_renew"/>
<item key="link_domains">0</item>
<item key="custom_tech_contact">1</item>
<item key="contact_set">
... see "Contact Set"
</item>
<item key="reg_domain">example-nsi.com</item>
<item key="f_lock_domain">0</item>
<item key="domain">example.info</item>
<item key="affiliate_id"/>
<item key="period">2</item>
<item key="reg_type">new</item>
<item key="reg_username">daniel</item>

549

<item key="nameserver_list">
<dt_array/>
</item>
<item key="reg_password">daniel</item>
<item key="encoding_type"/>
<item key="custom_nameservers">0</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

550

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'>DOMAIN</item>
<item key='is_success'>1</item>
<item key='response_code'>200</item>
<item key='response_text'>Domain registration successfully
completed</item>
<item key='attributes'>
<dt_assoc>
<item key='registration_text'>Domain registration
successfully completed</item>
<item key='registration_code'>200</item>
<item key='id'>23994</item>
<item key='admin_email'>admin@example.info</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

551

For domain = .IT


Example 1
This example registers a domain to a person ( entity_code=1). In this case,
the admin contact does not need to be defined as it must be the same as the
owner; if the admin contact is specified, it is ignored. Similarly, org_name is
not required in this instance, and if specified, is ignored.

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">SW_REGISTER</item>
<item key="object">DOMAIN</item>
<item key="attributes">
<dt_assoc>
<item key="reg_username">aaaa</item>
<item key="tld_data">
<dt_assoc>
<item key="it_registrant_info">
<dt_assoc>
<item key="nationality_code">IT</item>
<item key="reg_code">SGLMRA80A01H501E</item>
<item key="entity_type">1</item>
</dt_assoc>
</item>
</dt_assoc>
</item>
<item key="custom_tech_contact">1</item>

552

<item key="reg_password">aaaa</item>
<item key="period">1</item>
<item key="f_whois_privacy">0</item>
<item key="link_domains">0</item>
<item key="custom_nameservers">1</item>
<item key="f_lock_domain">0</item>
<item key="domain">example031.it</item>
<item key="reg_type">new</item>
<item key="reg_domain"></item>
<item key="contact_set">
<dt_assoc>
<item key="owner">
<dt_assoc>
<item key="first_name">Mario</item>
<item key="last_name">Segale</item>
<item key="org_name">Mario Segale</item>
<item key="address1">Via del Campidoglio, 1</item>
<item key="city">Rome</item>
<item key="state">RM</item>
<item key="country">IT</item>
<item key="postal_code">00123</item>
<item key="phone">+39.0612345678</item>
<item key="email">mario@mail.it</item>
</dt_assoc>
</item>
<item key="tech">
<dt_assoc>
<item key="first_name">Frank</item>
<item key="last_name">Mosser</item>
<item key="org_name">Tech Orgname</item>
<item key="address1">Piazza dei Giudici 1</item>
<item key="city">Firenze</item>
<item key="state">FI</item>
<item key="country">IT</item>
<item key="postal_code">50123</item>
<item key="phone">+39.0551234567</item>

553

<item key="email">qafive@example.com</item>
</dt_assoc>
</item>
</dt_assoc>
</item>
<item key="nameserver_list">
<dt_array>
<item key="0">
<dt_assoc>
<item key="name">ns1.systemdns.com</item>
<item key="sortorder">1</item>
</dt_assoc>
</item>
<item key="1">
<dt_assoc>
<item key="name">ns2.systemdns.com</item>
<item key="sortorder">2</item>
</dt_assoc>
</item>
<item key="2">
<dt_assoc>
<item key="name">ns3.systemdns.com</item>
<item key="sortorder">3</item>
</dt_assoc>
</item>
</dt_array>
</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

554

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">DOMAIN</item>
<item key="is_success">1</item>
<item key="response_text">Domain registration successfully
completed</item>
<item key="response_code">200</item>
<item key="attributes">
<dt_assoc>
<item key="registration_text">Domain registration successfully
completed</item>
<item key="admin_email">mario@mail.it</item>
<item key="registration_code">200</item>
<item key="id">214946</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>`
</OPS_envelope>

555

Example 2
This example registers a domain to an Italian company (entity_type = 2).
In this case, the admin contact is required.

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">SW_REGISTER</item>
<item key="object">DOMAIN</item>
<item key="attributes">
<dt_assoc>
<item key="reg_username">aaaa</item>
<item key="tld_data">
<dt_assoc>
<item key="it_registrant_info">
<dt_assoc>
<item key="nationality_code">IT</item>
<item key="reg_code">06612345675</item>
<item key="entity_type">2</item>
</dt_assoc>
</item>
</dt_assoc>
</item>
<item key="reg_password">aaaa</item>
<item key="period">1</item>
<item key="f_whois_privacy">0</item>
<item key="link_domains">0</item>
<item key="custom_nameservers">1</item>

556

<item key="f_lock_domain">0</item>
<item key="domain">example032.it</item>
<item key="reg_type">new</item>
<item key="reg_domain"></item>
<item key="custom_tech_contact">1</item>
<item key="contact_set">
<dt_assoc>
<item key="admin">
<dt_assoc>
<item key="first_name">Mario</item>
<item key="last_name">Segale</item>
<item key="org_name">Mario Segale</item>
<item key="address1">Via del Campidoglio, 1</item>
<item key="city">Rome</item>
<item key="state">RM</item>
<item key="country">IT</item>
<item key="postal_code">00123</item>
<item key="phone">+39.0612345678</item>
<item key="email">mario@mail.it</item>
</dt_assoc>
</item>
<item key="owner">
<dt_assoc>
<item key="first_name">Franco</item>
<item key="last_name">Pendenza</item>
<item key="org_name">Aumento Inc</item>
<item key="address1">Via del Inclinazione, 1</item>
<item key="city">Pisa</item>
<item key="state">PI</item>
<item key="country">IT</item>
<item key="postal_code">52123</item>
<item key="phone">+39.0501234567</item>
<item key="email">tilt@mail.it</item>
<item key="fax">+39.0501234568</item>
</dt_assoc>

557

</item>
<item key="tech">
<dt_assoc>
<item key="first_name">Frank</item>
<item key="last_name">Mosser</item>
<item key="org_name">Tech Orgname</item>
<item key="address1">Piazza dei Giudici 1</item>
<item key="city">Firenze</item>
<item key="state">FI</item>
<item key="country">IT</item>
<item key="postal_code">50123</item>
<item key="phone">+39.0551234567</item>
<item key="email">qafive@example.com</item>
</dt_assoc>
</item>
</dt_assoc>
</item>
<item key="nameserver_list">
<dt_array>
<item key="0">
<dt_assoc>
<item key="name">ns1.systemdns.com</item>
<item key="sortorder">1</item>
</dt_assoc>
</item>
<item key="1">
<dt_assoc>
<item key="name">ns2.systemdns.com</item>
<item key="sortorder">2</item>
</dt_assoc>
</item>
<item key="2">
<dt_assoc>
<item key="name">ns3.systemdns.com</item>
<item key="sortorder">3</item>
</dt_assoc>

558

</item>
</dt_array>
</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

559

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">DOMAIN</item>
<item key="response_text">Domain registration successfully
completed</item>
<item key="is_success">1</item>
<item key="response_code">200</item>
<item key="attributes">
<dt_assoc>
<item key="registration_text">Domain registration successfully
completed</item>
<item key="admin_email">mario@mail.it</item>
<item key="registration_code">200</item>
<item key="id">214947</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

560

For domain = .JOBS


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">sw_register</item>
<item key="object">domain</item>
<item key="attributes">
<dt_assoc>
<item key="handle">process</item>
<item key="reg_username">Daniel</item>
<item key="reg_password">changeit</item>
<item key="auto_renew">0</item>
<item key="link_domains">0</item>
<item key="f_whois_privacy">0</item>
<item key="f_lock_domain">0</item>
<item key="custom_tech_contact">0</item>
<item key="contact_set">
<dt_assoc>
<item key="owner">
<dt_assoc>
<item key="first_name">Owen</item>
<item key="last_name">Ottway</item>
<item key="address1">123 Oak St.</item>
<item key="state">CA</item>
<item key="city">Santa Clara</item>
<item key="postal_code">90210</item>

561

<item key="country">US</item>
<item key="phone">+1.4165551212</item>
<item key="fax">+1.4165551234</item>
<item key="email">owen@example.com</item>
<item key="org_name">Example Inc.</item>
</dt_assoc>
</item>
</dt_assoc>
</item>
<item key="domain">example.jobs</item>
<item key="affiliate_id"/>
<item key="period">1</item>
<item key="reg_type">new</item>
<item key="bulk_order">0</item>
<item key="nameserver_list">
<dt_array>
<item key="0">
<dt_assoc>
<item key="sortorder">1</item>
<item key="name">ns1.systemdns.com</item>
</dt_assoc>
</item>
<item key="1">
<dt_assoc>
<item key="sortorder">2</item>
<item key="name">ns2.systemdns.com</item>
</dt_assoc>
</item>
</dt_array>
</item>
<item key="encoding_type"/>
<item key="action">register</item>
<item key="custom_nameservers">1</item>
<item key="tld_data">
<dt_assoc>

562

<item key="registrant_extra_info">
<dt_assoc>
<item key="jobs_admin_type">Yes</item>
<item key="jobs_industry_type">Supply Chain
Management</item>
<item key="jobs_title">HR Generalist</item>
<item key="jobs_association_member">Yes</item>
<item
key="jobs_website">http://www.example.com</item>
</dt_assoc>
</item>
</dt_assoc>
</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">DOMAIN</item>
<item key="response_code">250</item>
<item key="is_success">1</item>
<item key="response_text">Domain registration successfully

563

submitted</item>
<item key="rr_id">13688</item>
<item key="transaction_id">2012-05-16 09:04:19 1249 101</item>
<item key="domain_id">707818</item>
<item key="attributes">
<dt_assoc>
<item key="registration_text">Domain registration successfully
submitted</item>
<item key="admin_email">a@b.com</item>
<item key="registration_code">300</item>
<item key="waiting_request">sw_register</item>
<item key="waiting_requests_no">1</item>
<item key="id">477658</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

564

For domain = .NAME


The registrant is requesting a forwarding email address with their domain.

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">SW_REGISTER</item>
<item key="object">DOMAIN</item>
<item key="registrant_ip">10.0.10.19</item>
<item key="attributes">
<dt_assoc>
<item key="auto_renew"/>
<item key="link_domains">0</item>
<item key="custom_tech_contact">0</item>
<item key="contact_set">
... see "Contact Set"
</item>
<item key="reg_domain">example-nsi.com</item>
<item key="f_lock_domain">0</item>
<item key="domain">jane.doe.name</item>
<item key="affiliate_id"/>
<item key="period">10</item>
<item key="reg_type">new</item>
<item key="reg_username">example</item>
<item key="nameserver_list">
<dt_array/>
</item>
<item key="tld_data">
<dt_assoc>

565

<item
key="forwarding_email">johndoe@netscape.net</item>
</dt_assoc>
</item>
<item key="reg_password">example</item>
<item key="encoding_type"/>
<item key="custom_nameservers">0</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'>DOMAIN</item>
<item key='is_success'>1</item>
<item key='response_code'>200</item>
<item key='response_text'>Domain registration successfully
completed</item>
<item key='attributes'>
<dt_assoc>
<item key='registration_text'>Domain registration
successfully completed</item>
<item key='registration_code'>200</item>
<item key='id'>23995</item>
<item key='admin_email'>mail@example.com</item>
</dt_assoc>

566

</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

567

For domain = .PM, .RE, .TF, .WF, or .YT


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'>SW_REGISTER</item>
<item key='object'>DOMAIN</item>
<item key='attributes'>
<dt_assoc>
<item key='f_lock_domain'>1</item>
<item key='custom_tech_contact'>1</item>
<item key='auto_renew'>1</item>
<item key='reg_type'>new</item>
<item key='reg_username'>lafleur</item>
<item key='domain'>example.pm</item>
<item key='contact_set'>
<dt_assoc>
<item key='admin'>
<dt_assoc>
<item key='first_name'>Marie</item>
<item key='last_name'>LaFleur</item>
<item key='org_name'>French Impressions</item>
<item key='address1'>13 Rue Daze</item>
<item key='address2'/>
<item key='address3'/>
<item key='city'>Paris</item>
<item key='state'/>
<item key='postal_code'>75002</item>
<item key='country'>FR</item>
<item key='fax'>+1.3365550125</item>

568

<item key='phone'>+1.3365551213</item>
<item key='email'>marie@example.com</item>
</dt_assoc>
</item>
<item key='owner'>
<dt_assoc>
<item key='first_name'>Henri</item>
<item key='last_name'>LaFleur</item>
<item key='org_name'>French Impressions</item>
<item key='address1'>13 Rue Daze</item>
<item key='address2'/>
<item key='address3'/>
<item key='city'>Paris</item>
<item key='state'/>
<item key='postal_code'>75002</item>
<item key='country'>FR</item>
<item key='phone'>+1.3365551212</item>
<item key='fax'>+1.3365550124</item>
<item key='email'>lafleur@example.com</item>
</dt_assoc>
</item>
<item key='tech'>
<dt_assoc>
<item key='first_name'>Pierre</item>
<item key='last_name'>LaFleur</item>
<item key='org_name'>French Impressions</item>
<item key='address1'>13 Rue Daze</item>
<item key='address2'/>
<item key='address3'/>
<item key='city'>Paris</item>
<item key='state'/>
<item key='postal_code'>75002</item>
<item key='country'>FR</item>
<item key='phone'>+1.3365551214</item>
<item key='fax'>+1.3365550125</item>
<item key='email'>pierre@example.com</item>
</dt_assoc>

569

</item>
</dt_assoc>
</item>
<item key='f_whois_privacy'>0</item>
<item key='nameserver_list'>
<dt_array>
<item key='0'>
<dt_assoc>
<item key='sortorder'>1</item>
<item key='name'>ns1.systemdns.com</item>
</dt_assoc>
</item>
<item key='1'>
<dt_assoc>
<item key='sortorder'>2</item>
<item key='name'>ns2.systemdns.com</item>
</dt_assoc>
</item>
<item key='2'>
<dt_assoc>
<item key='sortorder'>3</item>
<item key='name'>ns3.systemdns.com</item>
</dt_assoc>
</item>
</dt_array>
</item>
<item key='link_domains'>0</item>
<item key='tld_data'>
<dt_assoc>
<item key='registrant_extra_info'>
<dt_assoc>
<item key='registration_number'/>
<item key='registrant_vat_id'>1X345678901</item>
<item key='registrant_type'>organization</item>
</dt_assoc>
</item>
</dt_assoc>

570

</item>
<item key='period'>1</item>
<item key='reg_password'>changeit</item>
<item key='bulk_order'>0</item>
<item key='reg_domain'/>
<item key='custom_nameservers'>1</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'>DOMAIN</item>
<item key='response_code'>200</item>
<item key='is_success'>1</item>
<item key='response_text'>Domain registration successfully
completed</item>
<item key='attributes'>
<dt_assoc>
<item key='registration_text'>Domain registration
successfully completed</item>
<item key='admin_email'>admin@example.com</item>
<item key='registration_code'>200</item><item
key='id'>481007</item>
</dt_assoc>

571

</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

For domain = .PRO


Request
<?xml version='1.0' encoding='UTF-8'?> <OPS_envelope>
<header>
<version>0.9</version>
</header>
<body>
<data_block>
<dt_assoc>
<item key='protocol'>XCP</item>
<item key='action'>SW_REGISTER</item>
<item key='object'>DOMAIN</item>
<item key='attributes'>
<dt_assoc>
<item key='f_lock_domain'>1</item>
<item key='custom_tech_contact'>1</item>
<item key='auto_renew'>1</item>
<item key='reg_type'>new</item>
<item key='reg_username'>robson</item>
<item key='domain'>dentalpro13.pro</item>
<item key='contact_set'>
... see "Contact Set"
</item>
<item key='f_whois_privacy'>0</item>
<item key='nameserver_list'>
<dt_array>
<item key='0'>
<dt_assoc>
<item key='sortorder'>1</item>
<item key='name'>ns1.systemdns.com</item>

572

</dt_assoc>
</item>
<item key='1'>
<dt_assoc>
<item key='sortorder'>2</item>
<item key='name'>ns2.systemdns.com</item>
</dt_assoc>
</item>
<item key='2'>
<dt_assoc>
<item key='sortorder'>3</item>
<item key='name'>ns3.systemdns.com</item>
</dt_assoc>
</item>
</dt_array>
</item>
<item key='link_domains'>0</item>
<item key='tld_data'>
<dt_assoc>
*<item key='professional_data'>
<dt_assoc>
<item
key='authority_website'>http://www.cda-adc.ca</item>
<item key='license_number'>123456789</item>
<item key='authority'>Canadian Dental
Association</item>
<item key='profession'>Dentist</item>
</dt_assoc>*
</item>
</dt_assoc>
</item>
<item key='period'>1</item>
<item key='reg_password'>aaaa</item>
<item key='bulk_order'>0</item>
<item key='reg_domain'/>
<item key='custom_nameservers'>1</item>
</dt_assoc>

573

</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='object'>DOMAIN</item>
<item key='response_code'>200</item>
<item key='is_success'>1</item>
<item key='response_text'>Domain registration successfully
completed</item>
<item key='action'>REPLY</item>
<item key='attributes'>
<dt_assoc>
<item key='registration_text'>Domain registration
successfully completed</item>
<item key='admin_email'>qafive@example.com</item>
<item key='registration_code'>200</item>
<item key='id'>454197</item>
</dt_assoc>
</item
>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

574

For domain = .SCOT


<?xml version="1.0" encoding="UTF-8"?>
<OPS_envelope>
<header>
<version>0.9</version>
</header>
<body>
<data_block>
<dt_assoc>
<item key="protocol">XCP</item>
<item key="object">domain</item>
<item key="action">sw_register</item>
<item key="attributes">
<dt_assoc>
<item key="custom_tech_contact">1</item>
<item key="reg_type">new</item>
<item key="reg_username">testing</item>
<item key="reg_password">testing</item>
<item key="reg_domain"/>
<item key="bulk_order">0</item>
<item key="domain">tucows-d3c0e5a456304.scot</item>
<item key="contact_set">
<dt_assoc
>
<item key="owner">
<dt_assoc
>
<item key="country">CA</item>
<item key="address3">Mailbox 1</item>
<item key="org_name">Tucows</item>
<item key="phone">+1.4165350124</item>
<item key="state">ON</item>
<item key="last_name">ksjlIqWq</item>
<item key="address2">Unit 1</item>

575

<item key="email">qafive@tucows.com</item>
<item key="city">Toronto</item>
<item key="postal_code">M6H2E9</item>
<item key="fax">+1.4165350124</item>
<item key="title">QA Tester</item>
<item key="address1">96 Mowat Ave</item>
<item key="first_name">SUJTybEN</item>
</dt_assoc>
</item>
<item key="admin">
<dt_assoc>
<item key="country">CA</item>
<item key="address3">Mailbox 1</item>
<item key="org_name">Tucows</item>
<item key="phone">+1.4165350124</item>
<item key="state">ON</item>
<item key="last_name">defaultlastname</item>
<item key="address2">Unit 1</item>
<item key="email">qafive@tucows.com</item>
<item key="city">Toronto</item>
<item key="postal_code">M6H2E9</item>
<item key="fax">+1.4165350124</item>
<item key="title">QA Tester</item>
<item key="address1">96 Mowat Ave</item>
<item key="first_name">defaultfirstname</item>
</dt_assoc>
</item>
<item key="billing">
<dt_assoc>

576

<item key="country">CA</item>
<item key="address3">Mailbox 1</item>
<item key="org_name">Tucows</item>
<item key="phone">+1.4165350124</item>
<item key="state">ON</item>
<item key="last_name">defaultlastname</item>
<item key="address2">Unit 1</item>
<item key="email">qafive@tucows.com</item>
<item key="city">Toronto</item>
<item key="postal_code">M6H2E9</item>
<item key="fax">+1.4165350124</item>
<item key="title">QA Tester</item>
<item key="address1">96 Mowat Ave</item>
<item key="first_name">defaultfirstname</item>
</dt_assoc>
</item>
<item key="tech">
<dt_assoc>
<item key="country">CA</item>
<item key="address3">Mailbox 1</item>
<item key="org_name">Tucows</item>
<item key="phone">+1.4165350124</item>
<item key="state">ON</item>
<item key="last_name">defaultlastname</item>
<item key="address2">Unit 1</item>
<item key="email">qafive@tucows.com</item>
<item key="city">Toronto</item>
<item key="postal_code">M6H2E9</item>
<item key="fax">+1.4165350124</item>
<item key="title">QA Tester</item>
<item key="address1">96 Mowat Ave</item>

577

<item key="first_name">defaultfirstname</item>
</dt_assoc>

</item>
</dt_assoc>
</item>
<item key="period">1</item>
<item key="link_domains">0</item>
<item key="handle">process</item>
<item key="auto_renew">0</item>
<item key="f_lock_domain">1</item>
<item key="f_whois_privacy">1</item>
<item key="custom_nameservers">1</item>
<item key="nameserver_list">
<dt_array>
<item key="0">
<dt_assoc>
<item key="sortorder">1</item>
<item key="name">ns1.qa.systemdns.com</item>
</dt_assoc>
</item>
<item key="1">
<dt_assoc>
<item key="sortorder">2</item>
<item key="name">ns2.qa.systemdns.com</item>
</dt_assoc>
</item>
</dt_array>
</item>
<item key="tld_data">
<dt_assoc>
<item key="registrant_extra_info">

578

<dt_assoc>
<item key="intended_use">the domain will support trade
and development in Scotland </item>
</dt_assoc>
</item>
</dt_assoc>
</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="object">DOMAIN</item>
<item key="response_code">200</item>
<item key="is_success">1</item>
<item key="response_text">Domain registration successfully completed.
Domain successfully locked.
Whois Privacy successfully enabled.</item>
<item key="action">REPLY</item>
<item key="attributes">
<dt_assoc>

579

<item key="registration_text">Domain registration successfully


completed.
Domain successfully locked.
Whois Privacy successfully enabled.</item>
<item key="admin_email">qafive@tucows.com</item>
<item key="registration_code">200</item>
<item key="domain_id">822732</item>
<item key="id">730050</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

580

For domain = .US


About this example:

This is a new domain name registration


This creates a new user profile
There is no custom tech contact
Custom nameservers are set
The additional US-specific data is contained in the 'tld_data' subassociative array. 'nexus' itself is also an associative array with three
items.

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'>SW_REGISTER</item>
<item key='object'>DOMAIN</item>
<item key='attributes'>
<dt_assoc>
<item key='custom_tech_contact'>0</item>
<item key='auto_renew'>0</item>
<item key='reg_type'>new</item>

617

581

<item key='reg_username'>aaaa</item>
<item key='domain'>example.us</item>
<item key='nameserver_list'>
<dt_array>
<item key='0'>
<dt_assoc>
<item key='sortorder'>1</item>
<item key='name'>ns1.systemdns.com</item>
</dt_assoc>
</item>
<item key='1'>
<dt_assoc>
<item key='sortorder'>2</item>
<item key='name'>ns2.systemdns.com</item>
</dt_assoc>
</item>
</dt_array>
</item>
<item key='contact_set'>
... see "Contact Set"
</item>
<item key='link_domains'>0</item>
<item key='tld_data'>
<dt_assoc>
<item key='nexus'>
<dt_assoc>
<item key='category'>C11</item>
<item key='app_purpose'>P3</item>
</dt_assoc>
</item>
</dt_assoc>
</item>
<item key='period'>1</item>
<item key='reg_password'>aaaa</item>
<item key='reg_domain'>corelogic0.info</item>
<item key='custom_nameservers'>0</item>
</dt_assoc>

582

</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'>DOMAIN</item>
<item key='is_success'>1</item>
<item key='response_code'>200</item>
<item key='response_text'>Domain registration successfully
completed</item>
<item key='attributes'>
<dt_assoc>
<item key='registration_text'>Domain registration
successfully completed</item>
<item key='admin_email'>mail@example.us</item>
<item key='registration_code'>200</item>
<item key='id'>56726889</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

583

For domain = .XXX


Example 1
This example registers a domain for a registrant who is already a verified
member of the XXX Sponsored Community. The registrant would like all
communications to be sent to an alternate contact.

Request
<?xml version='1.0' encoding='UTF-8'?>
<OPS_envelope>
<header>
<version>0.9</version>
</header>
<body>
<data_block>
<dt_assoc>
<item key='protocol'>XCP</item>
<item key='action'>SW_REGISTER</item>
<item key='object'>DOMAIN</item>
<item key='attributes'>
<dt_assoc>
<item key='reg_type'>new</item>
<item key='f_lock_domain'>1</item>
<item key='custom_tech_contact'>1</item>
<item key='auto_renew'>1</item>
<item key='reg_username'>aaaa</item>
<item key='domain'>example.xxx</item>
<item key='contact_set'>
... see "Contact Set"
</item>
<item key='f_whois_privacy'>0</item>
<item key='nameserver_list'>
<dt_array>
<item key='0'>
<dt_assoc>

584

<item key='sortorder'>1</item>
<item key='name'>ns1.systemdns.com</item>
</dt_assoc>
</item>
<item key='1'>
<dt_assoc>
<item key='sortorder'>2</item>
<item key='name'>ns2.systemdns.com</item>
</dt_assoc>
</item>
</dt_array>
</item>
<item key='link_domains'>0</item>
<item key='tld_data'>
<dt_assoc>
<item key='ipr_data'>
<dt_assoc>
<item key='icm_membership_id'>123456</item>
</dt_assoc>
</item>
</dt_assoc>
</item>
<item key='period'>1</item>
<item key='reg_password'>aaaa</item>
<item key='bulk_order'>0</item>
<item key='reg_domain'/>
<item key='custom_nameservers'>1</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

585

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'>DOMAIN</item>
<item key='response_code'>200</item>
<item key='is_success'>0</item>
<item key='response_text'>Domain registration successfully
completed. Domain successfully locked.</item>
<item key='attributes'>
<dt_assoc>
<item key='admin_email'>qafive@example.com</item>
<item key='id'>457626</item>
<item key='registration_code'>200</item>
<item key='registration_text'>Domain registration
successfully completed. Domain successfully locked.</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

586

Example 2
This example registers a domain to a registrant who wants to register the
domain name, but does not want it to resolve. This registrant is not currently
a member of the Sponsored Community.

Request
<?xml version='1.0' encoding='UTF-8'?>
<OPS_envelope>
<header>
<version>0.9</version>
</header>
<body>
<data_block>
<dt_assoc>
<item key='protocol'>XCP</item>
<item key='action'>SW_REGISTER</item>
<item key='object'>DOMAIN</item>
<item key='attributes'>
<dt_assoc>
<item key='reg_type'>new</item>
<item key='f_lock_domain'>1</item>
<item key='custom_tech_contact'>1</item>
<item key='auto_renew'>1</item>
<item key='reg_username'>aaaa</item>
<item key='domain'>example.xxx</item>
<item key='contact_set'>
... see "Contact Set"
</item>
<item key='f_whois_privacy'>0</item>
<item key='nameserver_list'>
<dt_array>
<item key='0'>
<dt_assoc>
<item key='sortorder'>1</item>
<item key='name'>ns1.systemdns.com</item>

587

</dt_assoc>
</item>
<item key='1'>
<dt_assoc>
<item key='sortorder'>2</item>
<item key='name'>ns2.systemdns.com</item>
</dt_assoc>
</item>
</dt_array>
</item>
<item key='link_domains'>0</item>
<item key='tld_data'>
<dt_assoc>
<item key='ipr_data'>
<dt_assoc>
<item key='ipr_non_resolver'>1</item>
</dt_assoc>
</item>
</dt_assoc>
</item>
<item key='period'>1</item>
<item key='reg_password'>aaaa</item>
<item key='bulk_order'>0</item>
<item key='reg_domain'/>
<item key='custom_nameservers'>1</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

588

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'>DOMAIN</item>
<item key='response_code'>200</item>
<item key='is_success'>0</item>
<item key='response_text'>Domain registration successfully
completed. Domain successfully locked.</item>
<item key='attributes'>
<dt_assoc>
<item key='admin_email'>qafive@example.com</item>
<item key='id'>256841</item>
<item key='registration_code'>200</item>
<item key='registration_text'>Domain registration
successfully completed. Domain successfully locked.</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

589

For domain = new gTLD during Sunrise period


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'>SW_REGISTER</item>
<item key='object'>DOMAIN</item>
<item key='attributes'>
<dt_assoc>
<item key='f_lock_domain'>1</item>
<item key='custom_tech_contact'>1</item>
<item key='auto_renew'>1</item>
<item key='reg_type'>sunrise</item>
<item key='handle'>save</item>
<item key='reg_username'>riggs</item>
<item key='domain'>example.guru</item>
<item key='contact_set'>
... see "Contact Set"
</item>
<item key='f_whois_privacy'>0</item>
<item key='nameserver_list'>
<dt_array>
<item key='0'>
<dt_assoc>
<item key='sortorder'>1</item>
<item key='name'>ns1.systemdns.com</item>
</dt_assoc>
</item>

590

<item key='1'>
<dt_assoc>
<item key='sortorder'>2</item>
<item key='name'>ns2.systemdns.com</item>
</dt_assoc>
</item>
</dt_array>
</item>
<item key='link_domains'>0</item>
<item key='tld_data'>
<dt_assoc>
<item key='trademark_smd'> Trademark SMD:Marks:
smdID: 00000096381377086406165-1
U-labels: sunrise-test
notBefore: 2013-08-21 14:00:06
notAfter: 2015-07-01 00:00:00
-----BEGIN ENCODED SMD----PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHNtZDpzaWduZWRNYXJ
rIHht
bG5zOnNtZD0idXJuOmlldGY6cGFyYW1zOnhtbDpuczpzaWduZWRNYXJrLTEuMCIgaWQ9Il8
0Yjk4
YzMzOC03ZjAxLTQyYWMtYjQyMS00MTQ5YWVkN2JhYjIiPgogIDxzbWQ6aWQ+MDAwMDAwOTYz
YzMzOC03ZjAxLTQyYWMtYjQyMS00MTQ5YWVkN2JhYjIiPgogIDxzbWQ6aWQ+ODEz
NzcwODY0MDYxNjUtMTwvc21kOmlkPgogIDxzbWQ6aXNzdWVySW5mbyBpc3N1ZXJJRD0iMSI
+CiAg
ICA8c21kOm9yZz5EZWxvaXR0ZTwvc21kOm9yZz4KICAgIDxzbWQ6ZW1haWw+YmV0bWNoc21k
ICA8c21kOm9yZz5EZWxvaXR0ZTwvc21kOm9yZz4KICAgIDxzbWQ6ZW1haWw+QGRl
bG9pdHRlLmJlPC9zbWQ6ZW1haWw+CiAgPC9zbWQ6aXNzdWVySW5mbz4KICA8c21kOm5vdEJl
bG9pdHRlLmJlPC9zbWQ6ZW1haWw+Zm9y
ZT4yMDEzLTA4LTIxVDEyOjAwOjA2LjE2NVo8L3NtZDpub3RCZWZvcmU+CiAgPHNtZDpub3RB
ZT4yMDEzLTA4LTIxVDEyOjAwOjA2LjE2NVo8L3NtZDpub3RCZWZvcmU+ZnRl
cj4yMDE1LTA2LTMwVDIyOjAwOjAwLjAwMFo8L3NtZDpub3RBZnRlcj4KICA8bWFyazptYXJ
rIHht
bG5zOm1hcms9InVybjppZXRmOnBhcmFtczp4bWw6bnM6bWFyay0xLjAiPgogICAgPG1hcms
6dHJh
ZGVtYXJrPgogICAgICA8bWFyazppZD4wMDA1MjUxMzc2NDA0OTY4MTM3NjQwNDk2OC0xPC9
tYXJr
OmlkPgogICAgICA8bWFyazptYXJrTmFtZT5UVUNPV1M8L21hcms6bWFya05hbWU+CiAgICAg

591

OmlkPgogICAgICA8bWFyazptYXJrTmFtZT5UVUNPV1M8L21hcms6bWFya05hbWU+IDxt
YXJrOmhvbGRlciBlbnRpdGxlbWVudD0ib3duZXIiPgogICAgICAgIDxtYXJrOm9yZz5UVUN
PV1Mg
KERFTEFXQVJFKSBJTkMuPC9tYXJrOm9yZz4KICAgICAgICA8bWFyazphZGRyPgogICAgICA
gICAg
PG1hcms6c3RyZWV0PjEyMDkgT1JBTkdFIFNUUkVFVCBDT1JQT1JBVElPTiBUUlVTVCBDRU5
URVI8
L21hcms6c3RyZWV0PgogICAgICAgICAgPG1hcms6Y2l0eT5XSUxNSU5HVE9OPC9tYXJrOmN
pdHk+
CiAgICAgICAgICA8bWFyazpzcD5ERUxBV0FSRTwvbWFyazpzcD4KICAgICAgICAgIDxtYXJ
rOnBj
PjE5ODAxPC9tYXJrOnBjPgogICAgICAgICAgPG1hcms6Y2M+VVM8L21hcms6Y2M+CiAgICAg
PjE5ODAxPC9tYXJrOnBjPgogICAgICAgICAgPG1hcms6Y2M+VVM8L21hcms6Y2M+ICAg
PC9tYXJrOmFkZHI+CiAgICAgIDwvbWFyazpob2xkZXI+CiAgICAgIDxtYXJrOmNvbnRhY3Qg
PC9tYXJrOmFkZHI+CiAgICAgIDwvbWFyazpob2xkZXI+dHlw
ZT0iYWdlbnQiPgogICAgICAgIDxtYXJrOm5hbWU+QWxleGFuZGVyIFNjaHdlcnRuZXI8L21h
ZT0iYWdlbnQiPgogICAgICAgIDxtYXJrOm5hbWU+cms6
bmFtZT4KICAgICAgICA8bWFyazpvcmc+RVBBRyBEb21haW5zZXJ2aWNlcyBHbWJIPC9tYXJr
bmFtZT4KICAgICAgICA8bWFyazpvcmc+Om9y
Zz4KICAgICAgICA8bWFyazphZGRyPgogICAgICAgICAgPG1hcms6c3RyZWV0PlJoZWluYWx
sZWUg
MzwvbWFyazpzdHJlZXQ+CiAgICAgICAgICA8bWFyazpjaXR5PkJvbm48L21hcms6Y2l0eT4K
MzwvbWFyazpzdHJlZXQ+ICAg
ICAgICAgIDxtYXJrOnNwPk5SVzwvbWFyazpzcD4KICAgICAgICAgIDxtYXJrOnBjPjUzMTc
zPC9t
YXJrOnBjPgogICAgICAgICAgPG1hcms6Y2M+REU8L21hcms6Y2M+CiAgICAgICAgPC9tYXJr
YXJrOnBjPgogICAgICAgICAgPG1hcms6Y2M+REU8L21hcms6Y2M+OmFk
ZHI+CiAgICAgICAgPG1hcms6dm9pY2U+KzQ5LjIyODMyOTY4NDA8L21hcms6dm9pY2U+CiAg
ZHI+CiAgICAgICAgPG1hcms6dm9pY2U+KzQ5LjIyODMyOTY4NDA8L21hcms6dm9pY2U+ICAg
ICAgPG1hcms6ZW1haWw+cmVnaXN0cnktcmVsYXRpb25zQGVwYWcuZGU8L21hcms6ZW1haWw
+CiAg
ICAgIDwvbWFyazpjb250YWN0PgogICAgICA8bWFyazpqdXJpc2RpY3Rpb24+VVM8L21hcms6
ICAgIDwvbWFyazpjb250YWN0PgogICAgICA8bWFyazpqdXJpc2RpY3Rpb24+anVy
aXNkaWN0aW9uPgogICAgICA8bWFyazpjbGFzcz40MjwvbWFyazpjbGFzcz4KICAgICAgPG1
hcms6
bGFiZWw+dHVjb3dzPC9tYXJrOmxhYmVsPgogICAgICA8bWFyazpnb29kc0FuZFNlcnZpY2Vz
bGFiZWw+PklD
IDA0Mi4gVVMgMTAwIDEwMS4gRyAmYW1wOyBTOiBjb21wdXRlciBzb2Z0d2FyZSBpbmZvcm1
hdGlv
biBzZXJ2aWNlcywgbmFtZWx5LCBpbmZvcm1hdGlvbiByZWdhcmRpbmcgY29tcHV0ZXIgc29

592

mdHdh
cmUgcmVsYXRlZCB0byBhIGdsb2JhbCBjb21wdXRlciBuZXR3b3JrLCBvZmZlcmVkIHZpYSB
hIGds
b2JhbCBjb21wdXRlciBuZXR3b3JrLiBGSVJTVCBVU0U6IDE5OTQwODAwLiBGSVJTVCBVU0U
gSU4g
Q09NTUVSQ0U6IDE5OTQwODAwPC9tYXJrOmdvb2RzQW5kU2VydmljZXM+CiAgICAgIDxtYXJrQ
09NTUVSQ0U6IDE5OTQwODAwPC9tYXJrOmdvb2RzQW5kU2VydmljZXM+OnJl
Z051bT4yMjQ3MTk2PC9tYXJrOnJlZ051bT4KICAgICAgPG1hcms6cmVnRGF0ZT4xOTk5LTA
1LTI0
VDIyOjAwOjAwLjAwMFo8L21hcms6cmVnRGF0ZT4KICAgIDwvbWFyazp0cmFkZW1hcms+CiAg
VDIyOjAwOjAwLjAwMFo8L21hcms6cmVnRGF0ZT4KICAgIDwvbWFyazp0cmFkZW1hcms+PC9t
YXJrOm1hcms+CjxkczpTaWduYXR1cmUgeG1sbnM6ZHM9Imh0dHA6Ly93d3cudzMub3JnLzIw
YXJrOm1hcms+MDAv
MDkveG1sZHNpZyMiIElkPSJfYTQwNWQ3OTAtMzJmYS00YjJiLTg2OTAtZTkyYmMzNjdiMDA
0Ij48
ZHM6U2lnbmVkSW5mbz48ZHM6Q2Fub25pY2FsaXphdGlvbk1ldGhvZCBBbGdvcml0aG09Imh
0dHA6
Ly93d3cudzMub3JnLzIwMDEvMTAveG1sLWV4Yy1jMTRuIyIvPjxkczpTaWduYXR1cmVNZXR
ob2Qg
QWxnb3JpdGhtPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxLzA0L3htbGRzaWctbW9yZSNyc2E
tc2hh
MjU2Ii8+PGRzOlJlZmVyZW5jZSBVUkk9IiNfNGI5OGMzMzgtN2YwMS00MmFjLWI0MjEtNDE0
MjU2Ii8+OWFl
ZDdiYWIyIj48ZHM6VHJhbnNmb3Jtcz48ZHM6VHJhbnNmb3JtIEFsZ29yaXRobT0iaHR0cDo
vL3d3
dy53My5vcmcvMjAwMC8wOS94bWxkc2lnI2VudmVsb3BlZC1zaWduYXR1cmUiLz48ZHM6VHJ
hbnNm
b3JtIEFsZ29yaXRobT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS8xMC94bWwtZXhjLWMxNG4
jIi8+
PC9kczpUcmFuc2Zvcm1zPjxkczpEaWdlc3RNZXRob2QgQWxnb3JpdGhtPSJodHRwOi8vd3d
3Lncz
Lm9yZy8yMDAxLzA0L3htbGVuYyNzaGEyNTYiLz48ZHM6RGlnZXN0VmFsdWU+Qk5Eb0IyS0VC
Lm9yZy8yMDAxLzA0L3htbGVuYyNzaGEyNTYiLz48ZHM6RGlnZXN0VmFsdWU+UC9D
UGZHYXpGZTZFZkptNmllSUF1VnhYM2NMMTBmdVhBOD08L2RzOkRpZ2VzdFZhbHVlPjwvZHM
6UmVm
ZXJlbmNlPjxkczpSZWZlcmVuY2UgVVJJPSIjXzFkOWQwMjNlLTNmYjUtNDAxMi1iYjExLTd
iYmNl
ZjAxZTdjZCI+PGRzOlRyYW5zZm9ybXM+PGRzOlRyYW5zZm9ybSBBbGdvcml0aG09Imh0dHA6
ZjAxZTdjZCI+PGRzOlRyYW5zZm9ybXM+Ly93
d3cudzMub3JnLzIwMDEvMTAveG1sLWV4Yy1jMTRuIyIvPjwvZHM6VHJhbnNmb3Jtcz48ZHM
6RGln
ZXN0TWV0aG9kIEFsZ29yaXRobT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS8wNC94bWxlbmM

593

jc2hh
MjU2Ii8+PGRzOkRpZ2VzdFZhbHVlPmx2Q2dCdFBkUlAydURZR05lQ0hqMXhaSmJhUlVwOW04
MjU2Ii8+em5K
S2hNOUtKakE9PC9kczpEaWdlc3RWYWx1ZT48L2RzOlJlZmVyZW5jZT48L2RzOlNpZ25lZEl
uZm8+
PGRzOlNpZ25hdHVyZVZhbHVlIElkPSJfNjJmNzA4Y2UtMmM5YS00ZjMwLTk4NTgtMDc0OTM
1ZmE1
YmE5Ij5pTDNpUmdCaVRNUTFmajNZT2F3VFZJQ3RpZmJETE9tL0x1NjF6UE9iOU5HYTZRT3N
ISTFZ
dnB6SDVYREJ6N1dRcVZmZDJ5V0VPdWFRClBOUjZjQUhHT3h0c0M2QytVRy94UmFoM2JnUUw
0Tmwv
cXI2SVBOd3dQdmNtVFlYYTBIUjV6MkRXNVJUbHZUY2dIQjA5Q1Z4eng5SkMKMFRnVjhpVE9
2bmpB
eFZ6OTF6dlJ5dUE0UFhvdi8waDBKcjg2a1F5WXhwanZJTXp4Y1pJb1ZhcVdZZWNrcGpUZDk
2Znhn
TGhBQ0ZhUAo5YkVQMkZKTDl4QnJ3SnU4Mjdsd1dkRlJGWmJhL2ZKSVFROVAyN0k4aWVUR29
FUzA4
NTFmSWNNUHRmcjhmQkZvRHNOV25QQkdZSkY2CnlOUC80NEozTXBmU3pKcDBvUXNEbnM0L2l
TY2U1
S2xsR0crdzNRPT08L2RzOlNpZ25hdHVyZVZhbHVlPjxkczpLZXlJbmZvIElkPSJfMWQ5ZDA
yM2Ut
M2ZiNS00MDEyLWJiMTEtN2JiY2VmMDFlN2NkIj48ZHM6WDUwOURhdGE+PGRzOlg1MDlDZXJ0
M2ZiNS00MDEyLWJiMTEtN2JiY2VmMDFlN2NkIj48ZHM6WDUwOURhdGE+aWZp
Y2F0ZT5NSUlGTlRDQ0JCMmdBd0lCQWdJaEFKTkNNcWhOanozY1hWSlBqN3l2Y1p2cm8xRkt
RUitk
VEM2dFhhemVtNWcvTUEwR0NTcUdTSWIzCkRRRUJDd1VBTUhZeEN6QUpCZ05WQkFZVEFsVlR
NVHd3
T2dZRFZRUUtFek5KYm5SbGNtNWxkQ0JEYjNKd2IzSmhkR2x2YmlCbWIzSWcKUVhOemFXZHV
aV1Fn
VG1GdFpYTWdZVzVrSUU1MWJXSmxjbk14S1RBbkJnTlZCQU1USUVsRFFVNU9JRlJ5WVdSbGJ
XRnlh
eUJEYkdWaApjbWx1WjJodmRYTmxJRU5CTUI0WERURXpNRGN5TkRBd01EQXdNRm9YRFRFNU1
EY3lN
ekl6TlRrMU9Wb3dnYUF4Q3pBSkJnTlZCQVlUCkFrSkZNUkV3RHdZRFZRUUlFd2hDY25WemM
yVnNj
ekVSTUE4R0ExVUVCeE1JVFdGamFHVnNaVzR4RVRBUEJnTlZCQW9UQ0VSbGJHOXAKZEhSbE1
USXdN
QVlEVlFRREV5bEpRMEZPVGlCVVRVTklJRUYxZEdodmNtbDZaV1FnVkhKaFpHVnRZWEpySUZ
aaGJH
bGtZWFJ2Y2pFawpNQ0lHQ1NxR1NJYjNEUUVKQVJZVlltVjBiV05vYzIxa1FHUmxiRzlwZEh
SbExt
SmxNSUlCSWpBTkJna3Foa2lHOXcwQkFRRUZBQU9DCkFROEFNSUlCQ2dLQ0FRRUF5VSs0a3d
xaHlE

594

QU13YlhINnhyZ3JKK0NzTzVPN2JMZGtEMk1vTmFKajFLUlcxY2ZTUVVNUUM0ZHpJd1QKM0d
nZksw
M1lPSk9wTTFUSjQvM2xZMWFTcmFMSnRtRy9LYlVrZDFub0RNWmlja3FqQWtISDhtTGliYlF
1Zjl2
dFpWV0ZOUW5td0h4VwoyWWFxRlVzUUFGQVNjRjNURmE0dG1rZDFZbU1Zb2IzYUdUaFZUMkl
maktt
OXpUNkhNT1JqNCtYd0gvamRkOGxKeHIwSmJCc0dCSzloClBab3o1NXdvVWJNTFhLcWVvVFl
OTE5V
R0VNRlpYWktKSllIQzdFcFl4d3hKaDNtN2NWK2x0UVZzWG5NMlZndVZWak5EUjVYNEY2NCs
KcG54
ZGp2SzFPUEVxWDBRWVJhMzYrYW9QTlQ5cGdtM3RJVE5PSUQ4ZnFIeFh5TGRsbTRnTzZ3SUR
BUUFC
bzRJQmdUQ0NBWDB3REFZRApWUjBUQVFIL0JBSXdBREFkQmdOVkhRNEVGZ1FVc21rQjl0SDI
5cURR
N204TUdyWDhxdXdJVFp3d2djQUdBMVVkSXdTQnVEQ0J0WUFVClhNRHhsaXpLVEZzcDhVQjA
weHMy
UGtmVWJnU2hlcVI0TUhZeEN6QUpCZ05WQkFZVEFsVlRNVHd3T2dZRFZRUUtFek5KYm5SbGN
tNWwK
ZENCRGIzSndiM0poZEdsdmJpQm1iM0lnUVhOemFXZHVaV1FnVG1GdFpYTWdZVzVrSUU1MWJ
XSmxj
bk14S1RBbkJnTlZCQU1USUVsRApRVTVPSUZSeVlXUmxiV0Z5YXlCRGJHVmhjbWx1WjJodmR
YTmxJ
RU5CZ2lFQWswSXlxRTJQUGR4ZFVrK1B2Szl4bSt1alVVcEJINTFNCkxxMWRyTjZibUQ0d0R
nWURW
UjBQQVFIL0JBUURBZ2VBTUM0R0ExVWRId1FuTUNVd0k2QWhvQitHSFdoMGRIQTZMeTlqY21
3dWFX
TmgKYm00dWIzSm5MM1J0WTJndVkzSnNNRXNHQTFVZElBUkVNRUl3RUFZT0t3WUJCQUdDeVJ
zQkJZ
TTdDQW93TGdZSUt3WUJCUVVIQWdFdwpJakFnQmdnckJnRUZCUWNDQVJZVWFIUjBjSE02THk
5allT
NXBZMkZ1Ymk1dmNtY3dEUVlKS29aSWh2Y05BUUVMQlFBRGdnRUJBQTdKCmhXZHZpdUtkeXN
ZM2pl
T3pic1gyRFRtN1RxdmN0Y0V0am1hTy80VW1OMDlDc01USUUzcGptNUtxdzQ5cmxoR0VLM2V
uRGFU
S1hWRXUKMG5iYkRxZUJENjA2WithbFlNNjN3dzRRbjRUYVNiTmNlaDZubGhDYzcrWEI5VGR
LUHJw
SFVwUmhsSDdOM1dXWUsvUGQyMEVmUVR5bwo4UStIMVppbXV3VGdTU2dzN2JvVUlDSWFadFJ
YTG5J
YXZoL2ZNaWYySkpPbDZpUXhsNEp6d2ErUHQwdkd2Q1IrYUx1RVNnWkZuMDR2CmpGVWFUbHF
3YVhv
YUVkOUs2SmxQa2NGTHFIcmN4MlpKSzE5eHBjWTBSR3FreXloc3A1S0RsS0I5RGZraWxhK3l
GcGRQ
R2JjN05rNTgKUkxGSHYvaUlqZTZiZUxwY1FZcS9mQnMzSGRaT2dTQXBiVkE9PC9kczpYNTA
5Q2Vy

595

dGlmaWNhdGU+PC9kczpYNTA5RGF0YT48L2RzOktleUluZm8+PC9kczpTaWduYXR1cmU+PC9z
dGlmaWNhdGU+PC9kczpYNTA5RGF0YT48L2RzOktleUluZm8+PC9kczpTaWduYXR1cmU+bWQ6
c2lnbmVkTWFyaz4=
-----END ENCODED SMD----</item>
</dt_assoc>
</item>
<item key='period'>1</item>
<item key='reg_password'>aaaa</item>
<item key='bulk_order'>0</item>
<item key='reg_domain'/>
<item key='custom_nameservers'>1</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

596

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">DOMAIN</item>
<item key="response_text">Order created</item>
<item key="response_code">200</item>
<item key="is_success">1</item>
<item key="attributes">
<dt_assoc>
<item key="admin_email">qafive@example.com</item>
<item key="id">422013</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

597

For domain = new gTLD during Claims period


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'>SW_REGISTER</item>
<item key='object'>DOMAIN</item>
<item key='attributes'>
<dt_assoc>
<item key='f_lock_domain'>1</item>
<item key='custom_tech_contact'>1</item>
<item key='auto_renew'>1</item>
<item key='reg_type'>new</item>
<item key='reg_username'>riggs</item>
<item key='domain'>example.guru</item>
<item key='contact_set'>
... see "Contact Set"
</item>
<item key='f_whois_privacy'>0</item>
<item key='nameserver_list'>
<dt_array>
<item key='0'>
<dt_assoc>
<item key='sortorder'>1</item>
<item key='name'>ns1.systemdns.com</item>
</dt_assoc>
</item>
<item key='1'>

598

<dt_assoc>
<item key='sortorder'>2</item>
<item key='name'>ns2.systemdns.com</item>
</dt_assoc>
</item>
</dt_array>
</item>
</item>
<item key='period'>1</item>
<item key='reg_password'>aaaa</item>
<item key='custom_nameservers'>1</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

599

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'>DOMAIN</item>
<item key='response_code'>260</item>
<item key='is_success'>1</item>
<item key='response_text'>Registration is pending registrant
review before completing due to claim/trademark.</item>
<item key='transaction_id'>2014-03-06 16:30:17 1701 101</item>
<item key='attributes'>
<dt_assoc>
<item key='registration_text'>Registration is pending
registrant review before completing due to claim/trademark.</item>
<item key='admin_email'>qafive@example.com</item>
<item key='registration_code'>300</item>
<item key='id'>654276</item>
<item key='async_reason'>has_claim</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

600

Domain Transfer Examples


Request
The period, if present, must be 1 year.
<?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">SW_REGISTER</item>
<item key="object">DOMAIN</item>
<item key="registrant_ip">10.0.10.19</item>
<item key="attributes">
<dt_assoc>
<item key="auto_renew"/>
<item key="link_domains">0</item>
<item key="f_parkp">Y</item>
<item key="custom_tech_contact">0</item>
<item key="contact_set">
... see "Contact Set"
</item>
<item key="reg_domain">example-nsi.com</item>
<item key="domain">transfer-example-nsi.com</item>
<item key="period">1</item>
<item key="reg_type">transfer</item>
<item key="reg_username">example</item>
<item key="reg_password">example</item>
<item key="encoding_type"/>
<item key="custom_transfer_nameservers">0</item>
</dt_assoc>

601

</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

Response
This response shows the result of a successful response to a transfer order.
The transfer is not complete at this point rather, it has only been started. If
the domain's current whois information is accurate, then the current domain
owner receives an email from OpenSRS requesting that they approve or
reject the transfer 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">REPLY</item>
<item key="object">DOMAIN</item>
<item key="response_code">200</item>
<item key="response_text">Transfer request has been
successfully sent</item>
<item key="is_success">1</item>
<item key="attributes">
<dt_assoc>
<item key="registration_text">Transfer request has
been successfully sent</item>
<item key="registration_code">200</item>
<item key="id">3735288</item>
<item key="transfer_id">1234</item>
</dt_assoc>
</item>
</dt_assoc>

602

</data_block>
</body>
</OPS_envelope>

603

For domain = .AU


Request
<?xml version="1.0" encoding="UTF-8" standalone='yes'?>
<!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'>SW_REGISTER</item>
<item key='object'>DOMAIN</item>
<item key='attributes'>
<dt_assoc>
<item key='reg_type'>transfer</item>
<item key='handle'>process</item>
<item key='domain'>mytransferdomain.au</item>
<item key='f_lock_domain'>1</item>
<item key='auto_renew'>0</item>
<item key='reg_domain'>existingdomain.com</item>
<item key='reg_username'>username</item>
<item key='reg_password'>password</item>
<item key='custom_tech_contact'>1</item>
<item key='contact_set'>
<dt_assoc>
<item key='owner'>
<dt_assoc>
<item key='first_name'>Chris</item>
<item key='last_name'>Christopherson</item>
<item key='phone'>+1.4165550123</item>
<item key='fax'></item>
<item
key='email'>chris@christopherson.com</item>

604

<item key='org_name'>Christopherson Kitchens


(Australia) Pty Limited</item>
<item key='address1'>4 York Street</item>
<item key='address2'></item>
<item key='address3'></item>
<item key='city'>Sydney</item>
<item key='state'>NSW</item>
<item key='country'>AU</item>
<item key='postal_code'>2022</item>
</dt_assoc>
</item>
<item key='tech'>
<dt_assoc>
<item key='first_name'>Johnny</item>
<item key='last_name'>Jameson</item>
<item key='phone'>+1.4165550123</item>
<item key='fax'></item>
<item
key='email'>johnny@techfixers.com</item>
<item key='org_name'>Tech Fixers Inc.</item>
<item key='address1'>66 Mowat Avenue</item>
<item key='address2'></item>
<item key='address3'></item>
<item key='city'>Sydney</item>
<item key='state'>NSW</item>
<item key='country'>AU</item>
<item key='postal_code'>2023</item>
</dt_assoc>
</item>
</dt_assoc>
</item>
<item key='custom_transfer_nameservers'>0</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>

605

</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">DOMAIN</item>
<item key="response_code">200</item>
<item key="is_success">1</item>
<item key="response_text">Transfer request has been successfully
sent. Admin contact email: chris@christopherson.com</item>
<item key="attributes">
<dt_assoc>
<item key="registration_text">Transfer request has been
successfully sent. Admin contact email: chris@christopherson.com</item>
<item key="transfer_id">5851957</item>
<item key="admin_email">chris@christopherson.com</item>
<item key="registration_code">200</item>
<item key="id">101184590</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

606

For domain = .CA


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">SW_REGISTER</item>
<item key="object">DOMAIN</item>
<item key="attributes">
<dt_assoc>
<item key="auto_renew">0</item>
<item key="f_parkp">N</item>
<item key="domain">example.ca</item>
<item key="reg_type">transfer</item>
<item key="reg_domain"/>
<item key="reg_username">srs_registrant_username</item>
<item key="reg_password">srs_registrant_password</item>
<item key="encoding_type"/>
<item key="custom_transfer_nameservers">0</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>

607

<header>
<version>0.9</version>
</header>
<body>
<data_block>
<dt_assoc>
<item key="protocol">XCP</item>
<item key="action">REPLY</item>
<item key="object">DOMAIN</item>
<item key="is_success">1</item>
<item key="response_code">200</item>
<item key="response_text">Registration successful</item>
<item key="attributes">
<dt_assoc>
<item key="admin_email">admin@email.com</item>
<item key="id">85550904</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

608

For domain = .DE


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'>SW_REGISTER</item>
<item key='object'>DOMAIN</item>
<item key='attributes'>
<dt_assoc>
<item key='custom_tech_contact'>1</item>
<item key='affiliate_id'>AffiliateTransferTest</item>
<item key='reg_type'>transfer</item>
<item key='reg_username'>riggs</item>
<item key='domain'>example.de</item>
<item key='contact_set'>
... see "Contact Set"
</item>
<item key='handle'>process</item>
<item key='link_domains'>0</item>
<item key='period'>1</item>
<item key='reg_password'>test</item>
<item key='bulk_order'>0</item>

609

<item key='reg_domain'/>
<item key='custom_nameservers'>0</item>
</dt_assoc>
</item>
<item key='nameserver_list'>
<dt_array>
<item key='0'>
<dt_assoc>
<item key='sortorder'>1</item>
<item key='name'>ns1.domaindirect.com</item>
</dt_assoc>
</item>
<item key='1'>
<dt_assoc>
<item key='sortorder'>2</item>
<item key='name'>ns2.domaindirect.com</item>
</dt_assoc>
</item>
</dt_array>
</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>

610

<item key="protocol">XCP</item>
<item key="action">REPLY</item>
<item key="object">DOMAIN</item>
<item key="response_code">200</item>
<item key="is_success">1</item>
<item key="response_text">Transfer request has been
successfully sent. Admin contact email: robson@example.com</item>
<item key="attributes">
<dt_assoc>
<item key="registration_text">Transfer request has
been successfully sent. Admin contact email: robson@example.com</item>
<item key="admin_email">robson@example.com</item>
<item key="registration_code">200</item>
<item key="id">101550</item>
<item key="transfer_id">1234</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

611

For domain = .EU or .BE


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">SW_REGISTER</item>
<item key="object">DOMAIN</item>
<item key="attributes">
<dt_assoc>
<item key="affiliate_id"/>
<item key="reg_type">transfer</item>
<item key="period">1</item>
<item key="reg_username">unittest</item>
<item key="auto_renew"/>
<item key="domain">example.eu</item>
<item key="reg_password">password</item>
<item key="custom_tech_contact">0</item>
<item
key="owner_confirm_address">owner@example.eu</item>
<item key="link_domains">0</item>
<item key="custom_transfer_nameservers">1</item>
<item key="nameserver_list">
<dt_array>
<item key="0">
<dt_assoc>
<item key="name">ns1.systemdns.com</item>
<item key="sortorder">1</item>
</dt_assoc>
</item>

612

<item key="1">
<dt_assoc>
<item key="name">ns2.systemdns.com</item>
<item key="sortorder">2</item>
</dt_assoc>
</item>
</dt_array>
</item>
<item key="contact_set">
... see "Contact Set"
</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">DOMAIN</item>
<item key="is_success">1</item>
<item key="response_code">200</item>
<item key="response_text">
Transfer request has been successfully sent.
Admin contact email: admin@example.eu
</item>

613

<item key="attributes">
<dt_assoc>
<item key="registration_text">
Transfer request has been successfully sent.
Admin contact email: admin@example.eu
</item>
<item key="registration_code">200</item>
<item key="id">3751913</item>
<item key="transfer_id">1234</item>
<item key="admin_email">admin@example.eum</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

614

For domain = .IT


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="object">DOMAIN</item>
<item key="action">SW_REGISTER</item>
<item key="attributes">
<dt_assoc>
<item key="reg_username">aaaa</item>
<item key="reg_domain"></item>
<item key="reg_type">transfer</item>
<item key="change_contact">1</item>
<item key="tld_data">
<dt_assoc>
<item key="it_registrant_info">
<dt_assoc>
<item key="nationality_code">IT</item>
<item key="reg_code">SGLMRA80A01H501E</item>
<item key="entity_type">1</item>
</dt_assoc>
</item>
</dt_assoc>

615

</item>
<item key="reg_password">aaaa</item>
<item key="domain">example037.it</item>
<item
key="owner_confirm_address">transferapprover@example.com</item>
<item key="contact_set">
<dt_assoc>
<item key="owner">
<dt_assoc>
<item key="first_name">Mario</item>
<item key="last_name">Segale</item>
<item key="org_name">Mario Segale</item>
<item key="address1">Via del Campidoglio, 20</item>
<item key="city">Rome</item>
<item key="state">RM</item>
<item key="country">IT</item>
<item key="postal_code">00123</item>
<item key="phone">+39.0612345678</item>
<item key="email">mario@mail.it</item>
</dt_assoc>
</item>
<item key="tech">
<dt_assoc>
<item key="first_name">Frank</item>
<item key="last_name">Mosser</item>
<item key="org_name">Tech Orgname</item>
<item key="address1">Piazza dei Giudici 20</item>
<item key="city">Firenze</item>
<item key="state">FI</item>
<item key="country">IT</item>
<item key="postal_code">50123</item>
<item key="phone">+39.0551234567</item>
<item key="email">qafive@example.com</item>
</dt_assoc>
</item>
</dt_assoc>

616

</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">DOMAIN</item>
<item key="is_success">1</item>
<item key="response_text">Transfer request has been successfully
sent. Admin contact email: transferapprover@example.com</item>
<item key="response_code">200</item>
<item key="attributes">
<dt_assoc>
<item key="transfer_id">41334</item>
<item key="registration_text">Transfer request has been
successfully sent. Admin contact email:
transferapprover@example.com</item>
<item key="admin_email">transferapprover@example.com</item>
<item key="registration_code">200</item>
<item key="id">214998</item>
</dt_assoc>
</item>

617

</dt_assoc>
</data_block>
</body>
</OPS_envelope>

618

Examples for WHOIS Privacy


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">SW_REGISTER</item>
<item key="object">DOMAIN</item>
<item key="attributes">
<dt_assoc>
<item key="reg_type">whois_privacy</item>
<item key="reg_password">aaaa</item>
<item key="domain">example.com</item>
<item key="reg_username">aaaa</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>

619

<data_block>
<dt_assoc>
<item key="is_success">1</item>
<item key="protocol">XCP</item>
<item key="action">REPLY</item>
<item key="object">DOMAIN</item>
<item key="attributes">
<dt_assoc>
<item key="id">7235</item>
<item key="admin_email">admin@example.com</item>
</dt_assoc>
</item>
<item key="response_text">WHOIS Privacy order [#7298] is in
progress</item>
<item key="response_code">200</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

620

update_all_info
Description
Action & object
action = update_all_info
object = domain

Usage
Submits a domain-information update for .DK TLDs to the OpenSRS system.
Each contact object is submitted as a whole to OpenSRS, and changes are
parsed against the existing information.
Note: This command does not support .BE.
Important: This command will overwrite the existing nameserver entries. If
a nameserver has two IPs, one for IPv4 and one for IPv6, and you specify
only one of these in the request, the other one will be removed from the
registry.

Request parameters for update_all_info


Standard parameters
action = update_all_info
object = domain
cookie = cookie created to access OpenSRS, see "set (cookie)"
attributes

Attributes
Parameters within the attributes associative array are described below.
Parameter
name

Obligation

Definition/Value

contact_set

Required

Contains contact information for each contact


type: owner, admin, billing, and tech.

domain

Required if
cookie is not
submitted

The domain to be updated.

nameserver_list

Required

List of nameservers used by the domain. Values


include fqdn, ipaddress, and ipv6 keys.
For more information, see the Nameserver_List
table below.

621

Nameserver_List
Parameters within the nameserver_list associative array are described below.
Parameter
name

Obligation

Definition/Value

fqdn

Required

The FQDN of a nameserver that holds the DNS


information for the domain being checked, for
example, 'ns1.some-domain-ved.ch'

ipaddress

Required if
ipv6 is not
submitted

The IPv4 address of a nameserver that holds the


DNS information for the domain being checked.

Required if
ipaddress is
not submitted

The IPv6 address of a nameserver that holds the


DNS information for the domain being checked.

ipv6

You can specify ipaddress or ipv6, or both.

You can specify ipaddress or ipv6, or both.

Response parameters for update_all_info


Standard parameters
action = reply
object = domain
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

Examples for update_all_info


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>

622

<item key="action">UPDATE_ALL_INFO</item>
<item key="object">DOMAIN</item>
<item key="attributes">
<dt_assoc>
<item key="domain">example.dk</item>
<item key="nameserver_list">
<dt_array>
<item key="0">
<dt_assoc>
<item key="fqdn">ns1.systemdns.dk</item>
<item key="ipaddress">216.40.33.21</item>
</dt_assoc>
</item>
<item key="1">
<dt_assoc>
<item key="fqdn">ns2.systemdns.dk</item>
<item key="ipaddress">216.40.33.22</item>
</dt_assoc>
</item>
</dt_array>
</item>
<item key="contact_set">
... see "Contact Set"
</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

Response
If successful
<?xml version='1.0' encoding='UTF-8' standalone='no'?>
<!DOCTYPE OPS_envelope SYSTEM 'ops.dtd'>
<OPS_envelope>
<header>

623

<version>0.9</version>
</header>
<body>
<data_block>
<dt_assoc>
<item key="protocol">XCP</item>
<item key="action">REPLY</item>
<item key="object">DOMAIN</item>
<item key="is_success">1</item>
<item key="response_text">Update request submitted
successfully.</item>
<item key="response_code">200</item>
</dt_assoc>
</data_block>
</body>
<OPS_envelope>

If unsuccessful
<?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">DOMAIN</item>
<item key="is_success">0</item>
<item key="response_text">A request is currently waiting on
this domain.</item>
<item key="response_code">437</item>
</dt_assoc>
</data_block>
</body>
<OPS_envelope>

624

update_contacts
Description
Action & object
action = update_contacts
object = domain

Usage
Submits a domain-contact information update to the OpenSRS system. Each
contact object is submitted as a whole to OpenSRS, and changes are parsed
against the existing information.
Note: This command cannot be used for .DK TLDs.
Important: For .UK domains, if you use this command to submit a change to
the Organization field, it is recognized by OpenSRS, but not by the registry.
To change the .UK Organization information, you must contact the Nominet
Registry.

For .ES domains, if you use this command to submit any changes to the
owner contact information, the changes are recognized by OpenSRS, but not
by the registry. To change the .ES Owner contact information, you must
contact the Esnic Registry.
For .IT domains, the owner contact requires three additional parameters:
entity_type, nationality_code, and reg_code. For more information about
contact_set values, see .ITcontactrequirements.

Request parameters for update_contacts


Standard parameters
action = update_contacts
object = domain
cookie = cookie created to access OpenSRS, see "set (cookie)"
attributes

Attributes
Parameters within the attributes associative array are described below.
Parameter
name

Obligation

Definition/Value

affect_domains

Optional

Flag indicating the domains to which to apply the


change.

0Change applies only to the specified

625

Parameter
name

Obligation

Definition/Value

domain. This is the default.


1Change applies to all domains linked to
this profile.

contact_set

Required

Contains new contact information for each


specified contact type. For more information, see
Contact Set.

domain

Required if
cookie is not
submitted

The domain to be updated.

report_email

Optional

The End User's email address to which notification


of success or failure is sent. The notification email
is sent on behalf of the Reseller.
Note: This parameter can only be specified if
affect_domains is set to '1'

types

Required

The contact types whose information is changing.


Allowed values are; owner, admin, billing, and
tech.

Response parameters for update_contacts


Standard parameters
action = reply
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

details

Returned if
is_success = true

A description of the success or failure


of each affected domain.
The key is the name of the domain.
When you specify a contact_info
modification, you can specify that you
want the action to apply to all
domains.

626

Parameter name

Obligation

Definition/Value
Because the modification may succeed
or fail on a case-by-case basis, you
get a response code for each domain
that is affected.
The key that is used to access this
domain success information is the
name of the domain itself, for
example, 'mydomain.com' or
'mydomain.co.uk'.
Each key contains a hash (described
below) that provides details on the
action performed on that domain.

encoding_type

Optional

The encoding type for this domain. For


a list of languages and codes, see
AppendixC: EncodingTypes for
IDNs.

response_code

Returned if
is_success = true

The response code associated with the


modification on this domain.

response_text

Returned if
is_success = true

The response text associated with the


modification on this domain

waiting_requests_no

Returned if
is_success = true

The number of registry requests in the


waiting state.

Examples for update_contacts


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">UPDATE_CONTACTS</item>
<item key="object">DOMAIN</item>
<item key="attributes">

627

<dt_assoc>
<item key="domain">example.com</item>
<item key="types">
<dt_array>
<item key="0">admin</item>
<item key="1">billing</item>
</dt_array>
</item>
<item key="contact_set">
... see "Contact Set"
</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"></item>
<item key="is_success">1</item>
<item key="response_text">Command completed
successfully.</item>
<item key="response_code">200</item>
<item key="waiting_requests_no">0</item>

628

<item key="attributes">
<dt_assoc>
<item key="details">
<dt_assoc>
<item key="example.com">
<dt_assoc>
<item key="response_text">Command completed
successfully</item>
<item key="response_code">200</item>
</dt_assoc>
</item>
</dt_assoc>
</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
<OPS_envelope>

629

update_order
Description
Action & object
action = update_order
object = trust_service

Usage
Submits a Trust Service order update to the OpenSRS system.
When updating existing trust service orders, the general rules are:

Include the parameters and values that you want to change.


To remove a remove a value, submit the parameter with an empty value..
Omit any parameters that you do not want to change.

Note: This command can only be used on pending orders.


Important: If you are using this command to add or change the additional
domains for a SAN certificate order, you must specify all of the domains that
will be secured by the certificate. The additional_domains list specified in
this command overwrites the additional_domains list in the original order.

Request parameters for update_order


Standard parameters
action = update_order
object = trust_service
attributes

Attributes
Parameters within the attributes associative array are described below.
Parameter
name

Obligation

Definition/Value

additional_
domains

Optional. May be
used for SAN
certificates.

The list of additional domains or other


entities (other than the primary domain)
that will be secured by the SSL certificate.
This list overwrites the previous list in the
order, so be sure to specify all of the
domains that you want to secure with this
certificate. For more information, see

630

Sub-Reseller Commands
Parameter
name

Obligation

Definition/Value
Requestparametersforsw_register
(trust_service)

approver_email

Optional

The email of one of the individuals who can


approve the Trust Service order. The Trust
Service provider sends the approver email
to the address that you specify.

contact_set

Optional

The SSL Certificate contact information.


Most products require: admin, billing and
tech contacts.
For admin, tech, and billing contacts for
thawte, Symantec, and all EV certificates,
title is required.
For Symantec certificates, organization,
address, city, state/province, postal
code, and country are required for admin
and tech contacts.
All organization vetted certificates require
an organization contact.

csr

Optional

The certificate signing request for the


required certificate. The Trust Service
provider uses this information to generate
the certificate.
Note: All certificates require 2048 bit CSRs;
however, Symantec will accept 1024 bit
CSRs for certificates with expiry dates prior
to December 31, 2013, except for EV certs,
which require 2048, regardless of the term.

end_user_auth_
info

Optional - used only Specify the username and password


for SiteLock and
that the end user will use to log in to the
TRUSTe
Domain Admin interface where they can
manage their account. The login
credentials will be sent to the specified
email_address. If you resend the
Domain Admin login information (through
the Control Panel), this is the address to
which the Domain Admin login credentials
are sent.
Please note the following conditions:

If you specify username and


password and the user already
exists, the command will fail.
If you specify username but not

631

Sub-Reseller Commands
Parameter
name

Obligation

Definition/Value

password, and the user does not


already exist, the user credentials
cannot be created and the
command will fail.
If you specify username but not
password, and the user already
exists, the service will be
associated with the existing end
user profile.

If you want to associate the Trust Service


product with an existing account, you only
need to include the username value.
For more information see the End user
auth info table below.
order_id

Required

The ID of the Trust Service order.

period

Optional

The number of years of the registration


period. Allowed values are 1 4,
depending on the Trust Service that is
ordered.
comodo_ev1 to 2
comodo_instantssl1 to 4
comodo_premiumssl1 to 4
comodo_premiumssl_wildcard1 to
4
comodo_ssl1 to 4
comodo_wildcard1 to 4
malwarescan1
quickssl1 to 4
quickssl_premium1 to 4
sgcsuper_certs1 to 4
sitelock_basic1
sitelock_premium1
sitelock_enterprise1
ssl1231 to 4
sslwebserver1 to 4
sslwebserver_wildcard1 to 2
sslwebserver_ev1 to 2
securesite1 to 4
securesite_ev1 to 2
securesite_pro1 to 4

632

Sub-Reseller Commands
Parameter
name

Obligation

Definition/Value

product_type

Optional

securesite_pro_ev1 to 2
truebizid1 to 4
truebizid_wildcard1 to 4
truebizid_ev1 to 2
truste_hpp1 to 3
truste_tps1 to 3
trustwave_dv 1 to 3
trustwave_ev 1 to 2
trustwave_premiumssl 1 to 3
trustwave_premiumssl_wildcard 1 to
3

The product type from the SSL Certificate


inventory. The product types are detailed
in the allowed values section for this key.
Allowed values are:
comodo_ev
comodo_instantssl
comodo_premiumssl
comodo_premiumssl_wildcard
comodo_ssl
comodo_wildcard
malwarescan
quickssl
quickssl_premium
securesite
securesite_pro
securesite_ev
securesite_pro_ev
sgcsuper_certs
sitelock_basic
sitelock_premium
sitelock_enterprise
ssl123
sslwebserver
sslwebserver_wildcard
sslwebserver_ev
truebizid
truebizid_wildcard

633

Sub-Reseller Commands
Parameter
name

Obligation

Definition/Value

reg_type

Optional

truebizid_ev
truste_hpp (Hosted Privacy Policy)
truste_tps (TRUSTE Privacy Policy
with seal)
trustwave_dv
trustwave_ev
trustwave_premiumssl
trustwave_premiumssl_wildcard

The type of registration being requested:

newSubmit a new or Trust


Service order.
renewRenew a Trust Service
offering.
upgradeUpgrade a SiteLock
Basic or Premium SSL certificate to
a higher level certificate. When
you upgrade, the product_type
changes, you are charged the
price for a one year term at the
new level, and the new expiry
date is one year from the date of
the upgrade.
Note: This feature is currently
available only for SiteLock
certificates.

server_count

Required when
The number of servers on which the Trust
product_type =
Service product will be installed.
securesite*,
ssl123,
sgcsuper_certs,
sslwebserver,
sslwebserver_
wildcard,
sslwebserver_ev,
comodo_
premiumssl_
wildcard,
comodo_wildcard

server_type

Optional

The type of server software used to


generate the CSR.
Allowed values are:

634

Sub-Reseller Commands
Parameter
name

Obligation

Definition/Value
Symantec, thawte, and Comodo
GeoTrust

apache2

apachessl

apacheapaches sl

citrix

apacheopenssl

domino

apacheraven

ensim

apachessl

hsphere

apachessleay

iis4

c2net

iis6

cobaltseries

iis7

cobaltraq3

iplanet

cobaltraq2

javawebser

cpanel

domino

netscape
ibmhttp

dominogo4626

novell

dominogo4625

oracle

ensim

other

hsphere

plesk

iis

redhat

iis4

sap

iis5

tomcat

iplanet

webstar

ipswitch

whmcpanel

netscape
ibmhttp

other

plesk

tomcat

weblogic

website

webstar

webstar4

zeusv3

Note: Trustwave does not support server


types.

635

Sub-Reseller Commands
Parameter
name

Obligation

special_instructions Optional

Definition/Value
Any special instructions regarding the Trust
Service purchase.

636

Sub-Reseller Commands

End_user_auth_info
Parameters within the end_user_auth_info associative array are described
below.
Parameter Obligation
name

Definition/Value

email_address Optional - used only for


SiteLock and TRUSTe to
send Domain Admin
credentials

Specify the email address to which you


want to send the login credentials
(username and password) for Domain
Admin.
Note: If you want to associate the Trust
Service product with an existing account,
only username is required.

password

Optional - used only for


SiteLock and TRUSTe to
create Domain Admin
credentials

The password must be at least eight


characters.

username

Optional - used only for


SiteLock and TRUSTe to
create Domain Admin
credentials

The username must be at least six


characters.

Response parameters for update_order


Standard parameters
action = reply
object = trust_service
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

domain

The domain with which the Trust Service


order is associated.

Returned if
is_success =
true

637

Sub-Reseller Commands
Parameter name Obligation

Definition/Value

order_id

Returned if
is_success =
true

The ID number of the Trust Service order.

state

Returned if
is_success =
true

The state of the order. Allowed values are


approver-confirmedOwner has
confirmed the domain vetted
certificate.
awaiting-approvalOrder
processed successfully; waiting for
supplier approval.
cancelledPending order was
cancelled.
completedOrder is complete.
declinedOrder cancelled after it
was processed or declined by the
supplier.
in-progressOrder is in progress.
pendingOrder saved as pending.

Examples for update_order


Example 1
This example changes the information associated with an order, but does not
change it's processing state.

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'>update_order</item>
<item key='object'>trust_service</item>

638

Sub-Reseller Commands
<item key='attributes'>
<dt_assoc>
<item key='server_type'>apachessl</item>
<item key='special_instructions'></item>
<item key='approver_email'>admin@example.com</item>
<item key='csr'>-----BEGIN CERTIFICATE REQUEST----MIIC3DCCAcQCAQAwgZYxJTAjBgNVBAMTHHVwZGF0ZW9yZGVyLnFhcmVncmVzc2lv
bi5vcmcxCzAJBgNVBAYTAkNBMQswCQYDVQQIEwJPTjEQMA4GA1UEBxMHVG9yb250
bzENMAsGA1UEChMEVGVzdDEQMA4GA1UECxMHUUEgRGVwdDEgMB4GCSqGSIb3DQEJ
ARYRcWFmaXZlQHR1Y293cy5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK
AoIBAQDkMouJLDenKrVS9FdcmdY3BHrJ9iS5o8TbNSAKf2loYF1afa6tJyxO6bCj
Mk6WegE+Yugb42ONAgz0zhJq5bNTuWb9FvBZLEuN/jUBR/iVdTlf//W/BPoE2CmK
lbgskzFooQ7v3SSAoYl3TjwfN8iPWwni/yLDMJYJekxcZtsro7vugtl2HZDRhxLy
B0WB0y8Kx3lh1c7xC9CbXfqjJf+j1sKiGEh+cy1H71VdcakleoG+Tll8qvtWreEf
pZYczmeyn1pPZfbDzVw9AR9x1Yohrwaah1KNZoMIp0taVTkMe/NNEdMP2Rm7Y8ak
Eof49VBrRfDGkW135EYYJCHxBvXJAgMBAAGgADANBgkqhkiG9w0BAQQFAAOCAQEA
nQHOcqylM/b7NUqFuoWRG9R1GP6/gjixHqyyV4fe2c66HlBHcKR1Tm88cpT8mfu2
oE2Hw55DVUtkrBfNdVZqVXEK8yfiuF2EKuVk+34anCwwIQOg4o6Oy3xBU1oIKpqX
1x0Z7HZJ097DK6uwUqFsviEWyxrNCfJ3DYU5TfrZtnzIdOB6ztI3wBv1IYZyYzk/
zU65N4MDv64yUazmqjZKgxvl4THhWeFVPPy+4dk8k8dkuPkcqhdxeJVwntG7tQIw
utv8IShy2ckHVC0URV1RHbr660ygD/fAE3hGjzPbdgwu1DLlC5ANlpSfgeJc3feK
sqC2b/EfPHfdbtu6+eJgGw== -----END CERTIFICATE REQUEST-----</item>
<item key='server_count'>2</item>
<item key='period'>2</item>
<item key='order_id'>2326</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>

639

Sub-Reseller Commands
<header>
<version>0.9</version>
</header>
<body>
<data_block>
<dt_assoc>
<item key='protocol'>XCP</item>
<item key='action'>REPLY</item>
<item key='object'>TRUST_SERVICE</item>
<item key='is_success'>1</item>
<item key='response_text'>Command completed
successfully.</item>
<item key='response_code'>200</item>
<item key='attributes'>
<dt_assoc>
<item key='domain'>updateorder.example.com</item>
<item key='order_id'>2326</item>
<item key='state'>pending</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

Example 2
This example creates login credentials for Domain Admin and changes the
processing instruction for the order from save to process.

Request
<?xml version='1.0' encoding='UTF-8' standalone='no'?>
<!DOCTYPE OPS_envelope SYSTEM 'ops.dtd'>
<OPS_envelope>
<header>
<version>0.9</version>
</header>

640

Sub-Reseller Commands
<body>
<data_block>
<dt_assoc>
<item key='protocol'>XCP</item>
<item key='action'>update_order</item>
<item key='object'>trust_service</item>
<item key='attributes'>
<dt_assoc>
<item key='handle'>process</item>
<item key='order_id'>7419</item>
<item key='product_type'>sitelock_premium</item>
<item key='end_user_auth_info'>
<dt_assoc>
<item key='email_address'>qafive@example.com</item>
<item key='username'>customer111</item>
<item key='password'>changeit</item>
</dt_assoc>
</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>

641

Sub-Reseller Commands
<item key='protocol'>XCP</item>
<item key='action'>REPLY</item>
<item key='object'>TRUST_SERVICE</item>
<item key='is_success'>1</item>
<item key='response_text'>Command completed
successfully.</item>
<item key='response_code'>200</item>
<item key='attributes'>
<dt_assoc>
<item key='domain'>example.ca</item>
<item key='order_id'>7419</item>
<item key='state'>awaiting-approval</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

Example 3
This example updates the list of domains that are secured by the Trust
Service product.

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'>update_order</item>
<item key='object'>trust_service</item>

642

Sub-Reseller Commands
<item key='attributes'>
<dt_assoc>
<item key='additional_domains'>
<dt_array>
<item key='0'>upadditional1.example.org</item>
<item key='1'>upadditional2.example.org</item>
<item key='2'>upadditional3.example.org</item>
<item key='3'>upadditional4.example.org</item>
<item key='4'>upadditional5.example.org</item>
</dt_array>
</item>
<item key='handle'>save</item>
<item key='order_id'>186332</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'>TRUST_SERVICE</item>
<item key='response_text'>Command completed successfully.</item>
<item key='response_code'>200</item>
<item key='attributes'>

643

Sub-Reseller Commands
<dt_assoc>
<item key='domain'>example.org</item>
<item key='order_id'>186332</item>
<item key='state'>pending</item>
</dt_assoc>
</item>
<item key='is_success'>1</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

644

Sub-Reseller Commands

update_product
Description
Action & object
action = update_product
object = trust_service

Usage
Updates the Trust Service product and enables or disables the Symantec
Trust Seal and/or the Symantec Search-in-Seal.
Note: In order to enable the Symantec Search-in-Seal, Trust Seal must be
enabled.

Request parameters for update_product


Standard parameters
action = update_product
object = trust_service
attributes

Attributes
Parameters within the attributes associative array are described below.
Parameter
name

Obligation

Definition/Value

contact_email

Optional

The email address for the new Trust Service


contact.

let_expire

Optional

Specifies whether renewal reminder email


messages will be sent for the Trust Service
product. This parameter may be used for any
active Trust Service product.
Allowed values are:

0Send renewal reminder emails when the


certificate is approaching its expiry date.
This is the default.
1Do not send any renewal reminder
emails.

product_id

Required

The ID number for the Trust Service.

seal_in_search

Optional

Specifies whether to enable the Symantec Seal-

645

Sub-Reseller Commands
Parameter
name

Obligation

Definition/Value
in-Search which displays the Symantec seal next
to the link for your web site in online search
results. Allowed values are:
0Do not enable the Symantec Seal-inSearch.
1Enable the Symantec Seal-in-Search

Important: If you submit this parameter, you


must also submit the trust_seal parameter with
the value equal to 1.
trust_seal

Optional

Specifies whether to enable the Symantec Trust


Seal on your website. Allowed values are:
0Do not enable the Symantec Trust
Seal.
1Enable the Symantec Trust Seal.

Response parameters for update_product


Standard parameters
action = reply
object = trust_service
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

contact_email

Optional

The email address for the new Trust Service


contact.

let_expire

Optional

Indicates whether renewal reminder email


messages will be sent for the Trust Service
product.
Allowed values are:

0Send renewal reminder emails when

646

Sub-Reseller Commands
Obligation

Parameter
name

Definition/Value
the certificate is approaching its expiry
date. This is the default.

1Do not send any renewal reminder


emails.

product_id

Returned if
The ID number for the Trust Service.
is_success =
true

seal_in_search

Optional

trust_seal

Optional

The status of the Symantec Seal-in-Search.


Allowed values are:

0Not enabled.

1Enabled.

The status of the Symantec Trust Seal. Allowed


values are:

0Not enabled.

1Enabled.

Examples for update_product


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'>update_product</item>
<item key='object'>trust_service</item>
<item key='attributes'>
<dt_assoc>
<item key='trust_seal'>1</item>
<item key='contact_email'>newqafive@example.com</item>

647

Sub-Reseller Commands
<item key='seal_in_search'>1</item>
<item key='let_expire'>1</item>
<item key='product_id'>279</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'>TRUST_SERVICE</item>
<item key='is_success'>1</item>
<item key='response_text'>Command completed
successfully.</item>
<item key='response_code'>200</item>
<item key='attributes'>
<dt_assoc>
<item key='trust_seal'>1</item>
<item key='product_id'>279</item>
<item key='contact_email'>newqafive@example.com</item>
<item key='let_expire'>1</item>
<item key='seal_in_search'>1</item>
</dt_assoc>
</item>

648

Sub-Reseller Commands
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

649

Sub-Reseller Commands
The Sub-Reseller API commands allow you to create and operate your own
network of domain name Resellers. Sub-Resellers operate very much like any
other OpenSRS Reseller; however, you are considered to be the parent
Reseller for your Sub-Resellers. You set the pricing plans for them, and you
earn commissions on the domains that they sell.
This section contains the following commands:

create subresellerCreates a new Sub-Reseller account.


modifysubresellerModifies a Sub-Reseller account.
getsubresellerReturns information about a Sub-Reseller account.
paysubresellerTransfers funds from the Reseller account into a SubReseller account.

650

Acting on behalf of Sub-Resellers


You can execute any of the API commands on behalf of one of your SubResellers simply by adding the parameter as_subreseller to the request.

Attributes
Parameters within the attributes associative array are described below.
Parameter
name

Obligation

Definition/Value

as_subreseller

Optional

The username of the Sub-Reseller on whose behalf


you are submitting the command.

Example
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'>SW_REGISTER</item>
<item key='object'>DOMAIN</item>
<item key='attributes'>
<dt_assoc>
<item key='as_subreseller'>subrsp</item>
<item key='domain'>belongstosubreseller.com</item>
<item key='custom_tech_contact'>1</item>
<item key='auto_renew'>0</item>
<item key='reg_type'>new</item>
<item key='reg_username'>jefferson</item>

651

<item key='contact_set'>
... see "Contact Set"
</item>
<item key='link_domains'>1</item>
<item key='period'>1</item>
<item key='reg_password'>password</item>
<item key='bulk_order'>0</item>
<item key='reg_domain'></item>
<item key='custom_nameservers'>0</item>
</dt_assoc>
</item>
<item key='nameserver_list'>
<dt_array>
<item key='0'>
<dt_assoc>
<item key='sortorder'>1</item>
<item key='name'>ns1.systemdns.com</item>
</dt_assoc>
</item>
<item key='1'>
<dt_assoc>
<item key='sortorder'>2</item>
<item key='name'>ns2.systemdns.com</item>
</dt_assoc>
</item>
</dt_array>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

652

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'>DOMAIN</item>
<item key='response_code'>200</item>
<item key='is_success'>1</item>
<item key='response_text'>Domain registration successfully
completed</item>
<item key='attributes'>
<dt_assoc>
<item key='registration_text'>Domain registration
successfully completed</item>
<item key='admin_email'>aaron@example.com</item>
<item key='registration_code'>200</item>
<item key='id'>281405</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

653

create subreseller
Description
Action & object
action = create
object = subreseller

Usage
Creates a new Sub-Reseller account.

Request parameters for create subreseller


Standard parameters
action = create
object = subreseller
attributes

Attributes
Parameters within the attributes associative array are described below.
Parameter name

Obligation

Definition/Value

ccp_enabled

Required

Indicates whether credit card payments are


allowed for the Sub-Reseller.

contact_set

Required

NNo

YYes

Sub-Resellers contact information.


The admin contact for a Sub-Reseller is the
Emergency Contact, which is not the same as
a domain admin contact. The following
values are required for the Sub-Reseller
admin contact: first_name, last_name,
org_name, phone, and email.
For tech contact, you can include any of the
fields explained in the contact_set section;
however, you must include first_name,
last_name, org_name, address1, city,
phone, and email. If country is Canada or
U.S, you must also include the state and
postal code parameters.

654

Parameter name

Obligation

Definition/Value

low_balance_email

Required

The email address to which notices are sent


when the Sub-Reseller's account balance falls
to a predefined level.

nameservers

Optional

List of default nameservers for the SubReseller.

password

Required

Password for the new Sub-Reseller account.

payment_email

Optional

The email address to which payment notices


are sent.

pricing_plan

Required

The pricing plan assigned to the SubReseller.

status

Required

Set the status of the account.


Allowed values are active, onhold, locked,
canceled, and paid_only.

system_status_email

Required

The email address that will receive system


status messages.

url

Optional

The web address of the account.

username

Required

Username for the new Sub-Reseller.

Response parameters for create subreseller


Standard parameters
action = reply
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

reseller_id

Returned if is_success
=1

The ID of the newly created SubReseller.

655

Examples for create subreseller


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'>CREATE</item>
<item key='object'>SUBRESELLER</item>
<item key='attributes'>
<dt_assoc>
<item key='url'>testurl.com</item>
<item key='nameservers'>
<dt_assoc>
<item key='fqdn1'>ns1.systemdns.com</item>
<item key='fqdn2'>ns2.systemdns.com</item>
</dt_assoc>
</item>
<item key='payment_email'>tstewart@example.com</item>
<item key='pricing_plan'>gold</item>
<item key='status'>active</item>
<item key='username'>sub1240929148892</item>
<item key='contact_set'>
<dt_assoc>
<item key="admin">
<dt_assoc>
<item
key="email">EmergencyContact@example.com</item>
<item key="phone">+1.4165551123x333</item>

656

<item key="phone2"></item>
<item key="first_name">John</item>
<item key="last_name">Doe</item>
</dt_assoc>
</item>
<item key="tech">
<dt_assoc>
<item key="org_name">Sub Reseller Company
Inc.</item>
<item key="first_name">John</item>
<item key="last_name">Doe</item>
<item key="title">CEO</item>
<item key="phone">+1.4165551122x333</item>
<item key="fax"></item>
<item key="email">jdoe@example.com</item>
<item key="address1">55 Reseller Ave</item>
<item key="address2">Suite 99</item>
<item key="address3"></item>
<item key="city">New York</item>
<item key="state">NY</item>
<item key="postal_code">70218</item>
<item key="country">US</item>
</dt_assoc>
</item>
</dt_assoc>
</item>
<item key='ccp_enabled'>n</item>
<item key='low_balance_email'>mbrown@example.com</item>
<item key='password'>changeit</item>
<item key='system_status_email'>rory@example.com</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

657

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'>SUBRESELLER</item>
<item key='response_text'>Sub-Reseller sub1240929148892
successfully created</item>
<item key='response_code'>200</item>
<item key='is_success'>1</item>
<item key='attributes'>
<dt_assoc>
<item key='reseller_id'>9782</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

658

modify subreseller
Description
Action & object
action = modify
object = subreseller

Usage
Modify a Sub-Reseller account.

Request parameters for modify subreseller


Standard parameters
action = modify
object = subreseller
attributes

Attributes
Parameters within the attributes associative array are described below.
Parameter name

Obligation

Definition/Value

allowed_tld_list

Optional

List of TLDs that the Sub-Reseller is allowed


to sell.

ccp_enabled

Required

Indicates whether credit card payments are


allowed for the Sub-Reseller.

contact_set

Required

NNo

YYes

Sub-Resellers contact information.


The admin contact for a Sub-Reseller is the
Emergency Contact, which is not the same
as a domain admin contact. The following
values are required for the Sub-Reseller
admin contact: first_name, last_name,
org_name, phone, and email.
For tech contact, you can include any of the
fields explained in the contact_set section;
however, you must include first_name,
last_name, org_name, address1, city,
phone, and email. If country is Canada or
U.S, you must also include the state and
postal code parameters.

659

Parameter name

Obligation

Definition/Value

low_balance_email

Required

The email address to which notices are sent


when the Sub-Reseller's account balance
falls to a predefined level.

nameservers

Optional

List of default nameservers for the SubReseller.

password

Required

Password for the Sub-Reseller account.

payment_email

Optional

The email address to which payment notices


are sent.

pricing_plan

Required

The pricing plan assigned to the SubReseller.

status

Required

Set the status of the account.


Allowed values are active, onhold, locked,
canceled, and paid_only.

storefront_rwi

Optional

Determines whether the Sub-Reseller sees


the Storefront link in the RWI (and hence
whether the Sub-Reseller can configure a
Storefront).
NDo not display the Storefront
link; this is the default.
YDisplay the Storefront link

system_status_email

Required

The email address that will receive system


status messages.

url

Optional

The web address of the account.

username

Required

Username for the new Sub-Reseller.

Response parameters for modify subreseller


Standard parameters
action = reply
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

660

Examples for modify subreseller


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'>MODIFY</item>
<item key='object'>SUBRESELLER</item>
<item key='attributes'>
<dt_assoc>
<item key='url'>testurlupdate.com</item>
<item key='nameservers'>
<dt_assoc>
<item key='fqdn1'>ns1.systemdns.com</item>
<item key='fqdn2'>ns2.systemdns.com</item>
</dt_assoc>
</item>
<item key='payment_email'>jdoe@example.com</item>
<item key='pricing_plan'>silver</item>
<item key='status'>cancelled</item>
<item key='username'>sub1240929148892</item>
<item key='contact_set'>
<dt_assoc>
<item key="admin">
<dt_assoc>
<item
key="email">EmergencyContact@example.com</item>
<item key="phone">+1.4165551123x333</item>

661

<item key="phone2"></item>
<item key="first_name">John</item>
<item key="last_name">Doe</item>
</dt_assoc>
</item>
<item key="tech">
<dt_assoc>
<item key="org_name">Sub Reseller Company
Inc.</item>
<item key="first_name">John</item>
<item key="last_name">Doe</item>
<item key="title">CEO</item>
<item key="phone">+1.4165551122x333</item>
<item key="fax"></item>
<item key="email">jdoe@example.com</item>
<item key="address1">55 Reseller Ave</item>
<item key="address2">Suite 99</item>
<item key="address3"></item>
<item key="city">New York</item>
<item key="state">NY</item>
<item key="postal_code">70218</item>
<item key="country">US</item>
</dt_assoc>
</item>
</dt_assoc>
</item>
<item key='storefront_rwi'>Y</item>
<item key='ccp_enabled'>Y</item>
<item key='low_balance_email'>wilkison@example.com</item>
<item key='password'>test123</item>
<item key='system_status_email'>robson@example.com</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>

662

</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='object'>SUBRESELLER</item>
<item key='response_text'>Reseller sub1240929148892
successfully modified</item>
<item key='action'>REPLY</item>
<item key='response_code'>200</item>
<item key='is_success'>1</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

663

get subreseller
Description
Action & object
action = get
object = subreseller

Usage
Returns information about a Sub-Reseller account.

Request parameters for get subreseller


Standard parameters
action = get
object = subreseller
attributes

Attributes
Parameters within the attributes associative array are described below.
Parameter name

Obligation

Definition/Value

username

Required

Username of the Sub-Reseller.

Response parameters for get subreseller


Standard parameters
action = reply
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

664

Attributes
If the request is successful, the attributes associative array may include the
following:
Parameter name

Obligation

Definition/Value

allowed_tld_list

Returned if
List of TLDs that the Sub-Reseller is allowed
is_success = to sell.
true

ccp_enabled

Indicates whether credit card payments are


Returned if
is_success = allowed for the Sub-Reseller.
true
NNo
YYes

cert_permission

Indicates whether the Sub-Reseller is


Returned if
is_success = allowed to sell SSL Certificates.
true
0No
1Yes

contact_set

Returned if
Sub-Resellers contact information.
is_success = The admin contact for a Sub-Reseller is the
true
Emergency Contact, which is not the same
as a domain admin contact. The following
values are required for the Sub-Reseller
admin contact: first_name, last_name,
org_name, phone, and email.
The tech contact, can include any of the
fields explained in the contact_set section;
however, it must include first_name,
last_name, org_name, address1, city,
phone, and email. If country is Canada or
U.S, it also includes the state and postal
code parameters.

low_balance_email

Returned if
The email address to which notices are sent
is_success = when the Sub-Reseller's account balance
true
falls to a predefined level.

nameservers

Optional

List of default nameservers for the SubReseller.

payment_email

Optional

The email address to which payment notices


are sent.

pricing_plan

Returned if
The pricing plan assigned to the Subis_success = Reseller.
true

reseller_id

The ID of the Reseller who created and


Returned if
is_success = manages the Sub-Reseller.
true

665

Parameter name

Obligation

Definition/Value

status

Returned if
Set the status of the account.
is_success = Allowed values are active, onhold, locked,
true
canceled, and paid_only.

storefront_rwi

Optional

Indicates whether the Storefront link


displays in the RWI for this Sub-Reseller
(and hence whether the Sub-Reseller can
configure a Storefront).

NDo not display the Storefront link

YDisplay the Storefront link

system_status_email

Returned if
The email address that will receive system
is_success = status messages.
true

url

Optional

username

Returned if
Username for the new Sub-Reseller.
is_success =
true

The web address of the account.

Examples for get subreseller


Request
<?xml version=1.0 encoding=UTF-8 standalone=no ?>
<!DOCTYPE OPS_envelope SYSTEM ops.dtd>
<OPS_envelope>
<header>
<version>0.9</version>
</header>
</header>
<body>
<data_block>
<dt_assoc>
<item key='protocol'>XCP</item>
<item key='action'>GET</item>
<item key='object'>SUBRESELLER</item>
<item key='attributes'>
<dt_assoc>
<item key='username'>sub1240929148892</item>
</dt_assoc>

666

</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'>SUBRESELLER</item>
<item key='response_code'>200</item>
<item key='is_success'>1</item>
<item key='response_text'>Query Successful</item>
<item key='pricing_plan_id'>84</item>
<item key='pricing_plan'>silver</item>
<item key='attributes'>
<dt_assoc>
<item key='system_status_email'>robson@example.com</item>
<item key='low_balance_email'>wilkison@example.com</item>
<item key='status'>cancelled</item>
<item key='cert_permission'>0</item>
<item key='nameservers'>
<dt_assoc>
<item key='fqdn4'/>
<item key='fqdn2'>ns2.systemdns.com</item>
<item key='fqdn5'/>

667

<item key='fqdn1'>ns1.systemdns.com</item>
<item key='fqdn6'/>
<item key='fqdn3'/>
</dt_assoc>
</item>
<item key='payment_email'>jdoe@example.com</item>
<item key='username'>sub1240929148892</item>
<item key='allowed_tld_list'>
<dt_array>
<item key='0'>.cc</item>
<item key='1'>.com.vc</item>
<item key='2'>.net</item>
<item key='3'>.com</item>
<item key='4'>.nl</item>
<item key='5'>.mobi</item>
<item key='6'>.fr</item>
<item key='7'>.tv</item>
<item key='8'>.ltd.uk</item>
<item key='9'>.co.uk</item>
<item key='10'>.me.uk</item>
<item key='11'>.vc</item>
<item key='12'>.at</item>
<item key='13'>.info</item>
<item key='14'>.it</item>
<item key='15'>.ch</item>
<item key='16'>.net.uk</item>
<item key='17'>.mx</item>
<item key='18'>.us</item>
<item key='19'>.es</item>
<item key='20'>.org.vc</item>
<item key='21'>.asia</item>
<item key='22'>.org</item>
<item key='23'>.be</item>
<item key='24'>.tel</item>
<item key='25'>.eu</item>

668

<item key='26'>.net.vc</item>
<item key='27'>.plc.uk</item>
<item key='28'>.biz</item>
<item key='29'>.ca</item>
<item key='30'>.name</item>
<item key='31'>.de</item>
<item key='32'>.dk</item>
<item key='33'>.org.uk</item>
<item key='34'>.li</item>
<item key='35'>.me</item>
</dt_array>
</item>
<item key='wsb_permission'>0</item>
<item key='contact_set'>
<dt_assoc>
<item key='admin'>
<dt_assoc>
<item key='email'>jdoe@example.com</item>
<item key='org_name'/>
<item key='phone'>+1.4165551234</item>
<item key='phone2'>+1.4165551123</item>
<item key='first_name'>John</item>
<item key='last_name'>Doe</item>
</dt_assoc>
</item>
<item key='tech'>
<dt_assoc>
<item key='org_name'>Sub Reseller Company
Inc.</item>
<item key='first_name'>John</item>
<item key='last_name'>Doe</item>
<item key='title'>CEO</item>
<item key='phone'>+1.4165551122 x333</item>
<item key='fax'>+1.4165551221</item>
<item key='email'>jdoe@example.com</item>
<item key='address1'>55 Reseller Ave</item>

669

<item key='address2'>Suite 99</item>


<item key='address3'></item>
<item key='city'>New York</item>
<item key='state'>NY</item>
<item key='country'>US</item>
<item key='postal_code'> 70218</item>
</dt_assoc>
</item>
</dt_assoc>
</item>
<item key='storefront_rwi'>Y</item>
<item key='ccp_enabled'>Y</item>
<item key='reseller_id'>9782</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

670

pay subreseller
Description
Action & object
action = pay
object = subreseller

Usage
Transfers funds from the Reseller account into a Sub-Reseller account.

Request parameters for pay subreseller


Standard parameters
action = pay
object = subreseller
attributes

Attributes
Parameters within the attributes associative array are described below.
Parameter
name

Obligation

Definition/Value

amount

Required

The amount that you want to transfer to the SubReseller account; this value must be a positive
number.

username

Required

The username of the Sub-Reseller that is receiving


the funds.

Response parameters for pay subreseller


Standard parameters
action = reply
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

671

Attributes
If the request is successful, the attributes associative array may include the
following:
Parameter name

Obligation

Definition/Value

id

Returned if
is_success =
true

The ID number of the transaction.

Examples for pay subreseller


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'>PAY</item>
<item key='object'>SUBRESELLER</item>
<item key='attributes'>
<dt_assoc>
<item key='amount'>1.00</item>
<item key='username'>subactive</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

672

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'>SUBRESELLER</item>
<item key='is_success'>1</item>
<item key='response_code'>200</item>
<item key='response_text'>Funds Transferred</item>
<item key='attributes'>
<dt_assoc>
<item key='id'>6715</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

673

Transfer Commands
This section contains the following commands:

cancel_transferCancels transfers that are pending owner approval.


check_transferChecks to see if the specified domain can be transferred
in to OpenSRS, or from one OpenSRS Reseller to another.
get_transfers_awayLists domains that have been transferred away.
get_transfers_inLsts domains that have been transferred in.
process_transferCreates a new order with the same data as a cancelled
order.
rsp2rsp_push_transferTransfer a domain from one Reseller to another
Reseller.
send_password(transfer)Resends an email to the admin contact for a
transfer that is in 'pending owner approval' state.
trade_domainTransfers ownership of a .BE domain.

674

cancel_transfer
Description
Action & object
action = cancel_transfer
object = transfer

Usage
Cancels transfers that are pending owner approval.

Request parameters for cancel_transfer


Standard parameters
action = cancel_transfer
object = transfer
attributes

Attributes
Parameters within the attributes associative array are described below.
Parameter
name

Obligation

Definition/Value

domain

Optional - either order-id or


domain must be specified.

The domain to be cancelled.

order_id

Optional - either order-id or


domain must be specified.

The ID of the order to be


cancelled.

reseller

Required

Reseller username.

Response parameters for cancel_transfer


Standard parameters
action = reply
object = transfer
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

675

Examples for cancel_transfer


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">cancel_transfer</item>
<item key="object">transfer</item>
<item key="attributes">
<dt_assoc>
<item key="reseller">purple</item>
<item key="order_id">3533098</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

Response
If successful
<?xml version='1.0' encoding='UTF-8' standalone='no' ?>
<!DOCTYPE OPS_envelope SYSTEM 'ops.dtd'>
<OPS_envelope>
<header>
<version>0.9</version>
</header>

676

<body>
<data_block>
<dt_assoc>
<item key="protocol">XCP</item>
<item key="action">REPLY</item>
<item key="object">TRANSFER</item>
<item key="response_text">Transfer with order id: 3533098
has been cancelled.</item>
<item key="is_success">1</item>
<item key="response_code">200</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

If unsuccessful
<?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">TRANSFER</item>
<item key="response_text">Command Failed: Transfer State
Prohibits Cancellation</item>
<item key="is_success">0</item>
<item key="response_code">400</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

677

check_transfer
Description
Action & object
action = check_transfer
object = domain

Usage
Checks to see if the specified domain can be transferred in to OpenSRS, or
from one OpenSRS Reseller to another. This call can also be used to check
the status of the last transfer request on a given domain name.
When you use the check_transfer action prior to initiating a transfer, the
transferable response parameter is most relevant, and if transferable = 0,
the reason field is also important.
When you use the check_transfer action to determine the progress of a
transfer, the status parameter is most important. If the response indicates
that the transfer is in progress and the status is pending_registry, the
transfer will be scheduled to complete within 5 minutes of the query; running
the query expedites the process and causes the transfer to complete within 5
minutes.

Request parameters for check_transfer


Standard parameters
action = check_transfer
object = domain
attributes

Attributes
Parameters within the attributes associative array are described below.
Parameter name

Obligation

Definition/Value

check_status

Optional

Flag to request the status of a transfer


request. If the transfer state is returned as
pending_registry and the Registry shows
OpenSRS as the Registrar of record,
OpenSRS schedules the completion of gTLD
transfers.
Allowed values are 0 or 1.

domain

Required

The fully qualified domain name in the

678

Parameter name

Obligation

Definition/Value
transfer order.

get_request_address

Optional

Flag to request the registrant's contact email


address. This is useful if you want to make
sure that your client can receive mail at that
address to acknowledge the transfer.
Allowed values are 0 or 1.

Response parameters for check_transfer


Standard parameters
action = reply
object = domain
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

noservice

Returned if
is_success = true

Indication of supplier availability:


0Supplier is available
1Supplier is unavailable.
Note: When noservice is 1 then
transferable is set to 0 and is_success is
set to 1.

reason

Returned if
is_success = true
and transferrable =
0

Reason for transfer status.

request_address

Optional

Valid email address of registrant, which


can be used to make sure that they can
receive mail at that address to
acknowledge the transfer.

status

Status of the latest transfer on the


Returned if
is_success = true. If domain initiated by the Reseller.
no transfer is
Note: Resellers can only request status

679

Parameter
name

Obligation

Definition/Value

underway, this value is for transfers that they initiated (any


retrieved from the
checks for transfers initiated by other
previous transfer
Resellers returns 'undef').
pending_ownerAwaiting
order.
approval by domain's admin
contact (every transfer begins with
this status). If approval is not given
within five days, the transfer is
cancelled by OpenSRS.
pending_adminWaiting for
approval by OpenSRS support
staff.
pending_registryAwaiting
registry approval (the transfer
completes after 7 days unless it is
declined by the current registrar).
If the Registry shows OpenSRS as
the Registrar of record, OpenSRS
schedules the completion of gTLD
transfers. The transfer will be
scheduled to complete within 5
minutes of the query.
completedThe transfer
completed successfully.
cancelledThe Reseller or
OpenSRS stopped the transfer.
undefNo transfer exists for this

domain.

timestamp

Returned if
The date and time of the most recent
is_success = true. Ifupdate to the state of the transfer (which
no transfer is currentlycould be placement of an order, an owner
underway, timestamp request, an owner confirmation, a
registry request, or
is retrieved from the
completion/cancellation of an order).
previous transfer
order.
Date format is DD MMM YYYY 00:00:00
GMT

transferrable

Included only when a Whether the domain can be transferred.


transfer request has
0Cannot be transferred
not been submitted for
1Can be transferred
the specified domain

type

Returned if
is_success = true
and transferrable =
1

Type of transfer initiated:


reg2regTransfer from one
registrar to another.
rsp2rspTransfer between two
Resellers of the same registrar.

680

Parameter
name

Obligation

Definition/Value

unixtime

Returned if
Conversion of timestamp, in seconds
is_success = true. If since Epoch (1 Jan 1970 00:00:00 GMT).
no transfer is currently
underway, unixtime is
retrieved from the
previous transfer
order.

Examples for check_transfer


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">CHECK_TRANSFER</item>
<item key="object">DOMAIN</item>
<item key="attributes">
<dt_assoc>
<item key="domain">example.com</item>
<item key="check_status">1</item>
<item key="get_request_address">1</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

681

Response 1
This response indicates that the transfer is awaiting approval by domain's admin
contact .

<?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">DOMAIN</item>
<item key="is_success">1</item>
<item key="response_text">Query successful</item>
<item key="response_code">200</item>
<item key="attributes">
<dt_assoc>
<item key="status">pending_owner</item>
<item key="transferrable">0</item>
<item key="reason">Transfer in progress</item>
<item key="request_address"/>
<item key="unixtime">1115213766</item>
<item key="timestamp">Wed May

4 09:36:06 2005</item>

</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

682

Response 2
This response indicates that the transfer was successful. The status shows
pending_registry because a cronjob needs to run to complete the transfer
process; however, running the check transfer command causes the transfer
to complete within 5 minutes.
<?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">DOMAIN</item>
<item key="is_success">1</item>
<item key="response_code">200</item>
<item key="response_text">Query successful. Transfer scheduled in 5
minutes.</item>
<item key="attributes">
<dt_assoc>
<item key="transferrable">0</item>
<item key="noservice">0</item>
<item key="timestamp">Thu Jun 14 11:05:34 2012</item>
<item key="status">pending_registry</item>
<item key="reason">Transfer in progress</item>
<item key="unixtime">1339686334</item>
<item key="request_address">requester@example.com</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

683

Response 3
This response indicates that the transfer request completed and the domain
is now with OpenSRS.
<?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">DOMAIN</item>
<item key="is_success">1</item>
<item key="response_text">Query successful</item>
<item key="action">REPLY</item>
<item key="response_code">200</item>
<item key="attributes">
<dt_assoc>
<item key="transferrable">0</item>
<item
key="reason_code">domain_already_belongs_to_current_reseller</item>
<item key="noservice">0</item>
<item key="timestamp">Mon Jun 18 15:15:25 2012</item>
<item key="status">completed</item>
<item key="reason">Domain already exists in RESELLER_NAME's
account</item>
<item key="unixtime">1340046925</item>
<item key="request_address">requester@example.com</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

684

get_transfers_away
Description
Action & object
action = get_transfers_away
object = domain

Usage
Lists domains that have been transferred away. This command applies to all
domains in a Reseller's profile.
All attributes are optional, but can be used to narrow the search criteria. If
no attributes are specified, all domains that were ever transferred-away from
your profile are returned.

Request parameters for get_transfers_away


Standard parameters
action = get_transfers_away
object = domain
attributes

Attributes
Parameters within the attributes associative array are described below.
Parameter name

Obligation

Definition/Value

domain

Optional

Submit the domain name attribute only if you


want to check if a particular domain has been
transferred away.

gaining_registrar

Optional

Search for transfers-away according to


gaining registrar. String and wildcards (*)
accepted.

limit

Optional

The maximum number of domains to return


per page, up to 40.

owner_confirm_from

Optional

Search for transferred-away domains


according to the date from when the owner
confirmed or denied the transfer. Can be
used with the owner_confirm_to attribute
to specify a range within which to search.
The year specified cannot exceed 2030.
Use the format YYYY-MM-DD.

685

Parameter name

Obligation

Definition/Value

owner_confirm_to

Optional

Search for transferred-away domains


according to the date prior to when the
owner confirmed or denied the transfer. Can
be used with the owner_confirm_from
attribute to specify a range within which to
search. The year specified cannot exceed
2030.
Use the format YYYY-MM-DD.

owner_request_from

Optional

Search for transferred domains according to


the date when the email was been sent to
the request_address. Can be used with the
owner_request_to attribute to specify a
range within which to search. If not used
with owner_request_to, all domains from
the owner_request_from date onward are
returned. The year specified cannot exceed
2030; otherwise an error is returned.
Use the format YYYY-MM-DD.

owner_request_to

Optional

Search for transferred domains according to


the date prior to when the email was sent to
the request_address. Can be used with the
owner_request_from attribute to specify a
range within which to search. If not used
with owner_request_from, all domains
ever transferred away from the
owner_request_to date and earlier are
returned. The year specified cannot exceed
2030; otherwise an error is returned.
Use the format YYYY-MM-DD.

page

Optional

Determines which page to retrieve, using the


page number. The page index starts at 0
(zero).

req_from

Optional

Search for transferred domains according to


the date when the transfer notification was
sent. Can be used with the req_to attribute
to specify a range within which to search. If
not used with req_to, all domains from the
req_from date onward are returned. The
year specified cannot exceed 2030;
otherwise an error is returned.
Use the format YYYY-MM-DD.

req_to

Optional

Search for transferred domains according to


the date up until the transfer notification was
sent. Can be used with the req_from
attribute to specify a range within which to
search. If not used with req_from, all
domains prior to the req_to date onward are

686

Parameter name

Obligation

Definition/Value
returned. The year specified cannot exceed
2030; otherwise an error is returned.
Use the format YYYY-MM-DD.

request_address

Optional

The admin email address at the time of


notification. Wildcards (*) accepted.

status

Optional

Search for transferred domains by status.


Allowed values are pending_admin,
pending_owner, pending_registry,
completed, or cancelled.

Response parameters for get_transfers_away


Standard parameters
action = reply
object = domain
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

page

Returned if specified in the


request and is_success =
true

The number of the page retrieved.

page_size

Returned if specified in the The maximum number of domains


request and is_success = returned per page.
true

total

Returned if is_success =
true

The number of transferred-away


domains.

transfers

Returned if a transferredaway domain exists and


meets the specified search
criteria and is_success =
true

Contains arrays that list details about


each transfer-away.
For more information, see the
Transfers table below.

687

Transfers
Parameters within the transfers associative array are described below.
Parameter name

Obligation

Definition/Value

domain

Returned if a
transferred-away
domain exists and
meets the specified
search criteria.

The domain that was


transferred-away.

gaining_registrar

Always returned for


transferred away
domains.

The registrar that gained the


transferred-away domain.

owner_choice

Always returned for


transferred away
domains.

Indicates the owner's response


to the transfer-away request.
IIgnored
YApproved
NDeclined

owner_confirm_date

Always returned for


transferred away
domains.

Date when the owner


responded to the transfer
request.

owner_confirm_date_epoch

Always returned for


transferred away
domains.

Date when the owner


responded to the transfer
request, in UNIX time.

owner_request_date

Always returned for


transferred away
domains.

Date when transfer request


was sent to the owner.

owner_request_date_epoch

Always returned for


transferred away
domains.

Date when transfer request


was sent to the owner, in UNIX
time.

registry_request_date

Always returned for


transferred away
domains.

The date when the transfer


request was sent to the
registry

registry_request_date_epoch

Always returned for


transferred away
domains.

The date when the transfer


request was sent to the
registry, in UNIX time.

request_address

Always returned for


transferred away
domains.

The admin contact email


address, at the time of
transfer notification

request_date

Always returned for


transferred away
domains.

The date when the transfer


request was sent.

688

Parameter name

Obligation

Definition/Value

request_date_epoch

Always returned for


transferred away
domains.

The date when the transfer


request was sent, in UNIX
time.

status

Always returned for


transferred away
domains.

The status of the transfer:


Allowed values are

pending_admin
pending_owner
pending_registry
completed
cancelled.

Examples for get_transfers_away


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">GET_TRANSFERS_AWAY</item>
<item key="object">domain</item>
<item key="attributes">
<dt_assoc>
<item key="domain">example.com</item>
<item key="status">completed</item>
<item key="request_address">girl@example.com</item>
<item key="gaining_registrar">Tucows Inc.</item>
<item key="limit">40</item>
<item key="page">1</item>
</dt_assoc>

689

</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">DOMAIN</item>
<item key="is_success">1</item>
<item key="response_code">200</item>
<item key="response_text">Command successful</item>
<item key="attributes">
<dt_assoc>
<item key="page">1</item>
<item key="page_size">2</item>
<item key="total">1</item>
<item key="transfers">
<dt_array>
<item key="0">
<dt_assoc>
<item key="domain">example.com</item>
<item key="status">completed</item>
<item key="gaining_registrar">Tucows
Inc.</item>
<item key="owner_choice">Y</item>

690

<item
key="owner_confirm_ip">10.0.12.165</item>
<item key="owner_request_date">20-JUL2006 16:14:41</item>
<item
key="owner_request_date_epoch">1153426481</item>
<item key="owner_confirm_date">20-JUL2006 16:18:08</item>
<item
key="owner_confirm_date_epoch">1153426688</item>
<item
key="request_address">girl@example.com</item>
<item key="request_date">20-JUL-2006
16:14:36</item>
<item
key="request_date_epoch">1153426476</item>
<item key="registry_request_date">20-JUL2006 16:18:09</item>
<item
key="registry_request_date_epoch">1153426689</item>
</dt_assoc>
</item>
</dt_array>
</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

691

get_transfers_in
Description
Action & object
action = get_transfers_in
object = domain

Usage
Lists domains that have been transferred in. This command applies to all
domains in a Reseller's profile.
All attributes are optional, but can be used to narrow the search criteria. If
no attributes are specified, all domains that were ever transferred into your
profile are returned.

Request parameters for get_transfers_in


Standard parameters
action = get_transfers_in
object = domain
attributes

Attributes
Parameters within the attributes associative array are described below.
Parameter name

Obligation

Definition/Value

completed_from

Optional

Specify the start date for the search. Only


domains transferred on or after the specified
date are returned.
Use the format YYYY-MM-DD.

completed_to

Optional

Specify the end date for the search. Only


domains transferred on or before the
specified date are returned.
Use the format YYYY-MM-DD.

domain

Optional

Submit the domain name attribute only if


you want to check if a particular domain has
been transferred in.

limit

Optional

The maximum number of domains to return


per page, up to 40.

losing_registrar

Optional

Search for transfers-in according to losing

692

Parameter name

Obligation

Definition/Value
registrar. String and wildcards (*) accepted.

order_id

Optional

ID number of the order.

order_from

Optional

Specify a starting date, in the format YYYYMM-DD from which to return orders. Can be
used with the order_to parameter to specify
a range within which to search. If not used
with order_to, all orders from the
order_from date onward are returned.

order_to

Optional

Specify an end date, in the format YYYYMM-DD, before which to return orders. Can
be used with the attribute order_from
parameter to specify a range within which to
search. If not used with order_from, all
orders from the order_to date and earlier
are returned.

owner_confirm_from

Optional

Search for transferred-in domains according


to the date from when the owner confirmed
or denied the transfer. Can be used with the
owner_confirm_to attribute to specify a
range within which to search.
Use the format YYYY-MM-DD.
Note: The year specified cannot exceed
2030.

owner_confirm_ip

Optional

The IP address from which the owner


confirmed or denied the transfer-in request.

owner_confirm_to

Optional

Search for transferred-in domains according


to the date prior to when the owner
confirmed or denied the transfer. Can be
used with the owner_confirm_from
attribute to specify a range within which to
search.
Use the format YYYY-MM-DD.
Note: The year specified cannot exceed
2030.

owner_request_from

Optional

Search for transferred domains according to


the date when the email was been sent to
the request_address. Can be used with
the owner_request_to attribute to specify
a range within which to search. If not used
with owner_request_to, all domains from
the owner_request_from date onward are
returned. The year specified cannot exceed
2030; otherwise an error is returned.
Use the format YYYY-MM-DD.

693

Parameter name

Obligation

Definition/Value

owner_request_to

Optional

Search for transferred domains according to


the date prior to which the email was been
sent to the request_address. Can be used
with the owner_request_from attribute to
specify a range within which to search. If not
used with owner_request_from, all
domains ever transferred in prior to the
owner_request_to date are returned.
Use the format YYYY-MM-DD.
Note: The year specified cannot exceed
2030; otherwise an error is returned.

page

Optional

Determines which page to retrieve, using the


page number. The page index starts at 0
(zero).

request_address

Optional

The admin email address at the time of


notification. Wildcards (*) accepted.

status

Optional

Search for transferred domains by status.


Allowed values are pending_admin,
pending_owner, pending_registry,
completed, or cancelled.

transfer_id

Optional

ID number of the transfer.

Response parameters for get_transfers_in


Standard parameters
action = reply
object = domain
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

page

Returned if specified in the


request and is_success = true

The number of the page


retrieved.

page_size

Returned if specified in the

The maximum number of

694

Obligation

Definition/Value

request and is_success = true

domains returned per page.

total

Returned if is_success = true

The number of transferred-in


domains.

transfers

Returned if a transferred-in
domain exists and meets the
specified search criteria and
is_success = true

Contains arrays that list details


about each transfer-in.

Parameter
name

For more information, see the


Transfers table below.

Transfers
Parameters within the transfers associative array are described below.
Parameter name

Obligation

Definition/Value

affiliate_id

Returned if specified in
the transfer order.

The unique identifier of an RSP's


affiliate, which allows the RSP to
track orders
coming through different
affiliates.

Always returned in the


case of a transferred-in
domain.

Date when the transfer was


completed.

completed_date_epoch Always returned in the


case of a transferred-in
domain.

Date when the transfer was


completed, in UNIX time.

completed_date

domain

Returned if a transferred- The domain that was transferred


in domain exists and
in.
meets the specified
search criteria.

gaining_registrar

Always returned in the


case of a transferred-in
domain.

The registrar that gained the


transferred-in domain.

losing_registrar

Always returned in the


case of a transferred-in
domain.

The registrar that lost the


transferred-in domain.

order_date

Always returned in the


case of a transferred-in
domain.

Date the order was created.

order_date_epoch

Always returned in the


case of a transferred-in
domain.

Date the order was created, in


UNIX time.

695

Parameter name

Obligation

Definition/Value

owner_choice

Always returned in the


case of a transferred-in
domain.

Indicates the owner's response to


the transfer-in request.
IIgnored
YApproved
NDeclined

owner_confirm_date

Always returned in the


case of a transferred-in
domain.

Date when the owner responded


to the transfer request.

owner_confirm_date_ep Always returned in the


och
case of a transferred-in
domain.

Date when the owner responded


to the transfer request, in UNIX
time.

owner_confirm_ip

Always returned in the


case of a transferred-in
domain.

The IP address from which the


owner responded to the transfer
request.

owner_request_date

Always returned in the


case of a transferred-in
domain.

Date when transfer request was


sent to the owner.

owner_request_date_e Always returned in the


case of a transferred-in
poch
domain.

Date when transfer request was


sent to the owner, in UNIX time.

Always returned in the


case of a transferred-in
domain.

The date when the transfer


request was sent to the registry.

registry_request_date_e Always returned in the


poch
case of a transferred-in
domain.

The date when the transfer


request was sent to the registry,
in UNIX time.

request_address

Always returned in the


case of a transferred-in
domain.

The admin contact email address,


at the time of transfer
notification.

request_date

Always returned in the


case of a transferred-in
domain.

The date when the transfer


request was sent.

request_date_epoch

Always returned in the


case of a transferred-in
domain.

The date when the transfer


request was sent, in UNIX time.

status

Always returned in the


case of a transferred-in
domain.

The status of the transfer:


pending_owner,
pending_registry, completed,
or cancelled.

registry_request_date

Note: pending_admin has


been deprecated.

696

Parameter name

Obligation

Definition/Value

transfer_id

Always returned.

ID number of the transfer.

Examples for get_transfers_in


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">GET_TRANSFERS_IN</item>
<item key="object">DOMAIN</item>
<item key="registrant_ip"/>
<item key="attributes">
<dt_assoc>
<item key="owner_request_to">2006-10-06</item>
<item key="page">1</item>
<item key="status">cancelled</item>
<item key="transfer_id">1234</item>
<item key="request_address">agnes@example.com</item>
<item key="losing_registrar">Tucows</item>
<item key="completed_to">2006-10-06</item>
<item key="domain">example.cc</item>
<item key="order_from">2006-10-04</item>
<item key="order_to">2008-10-06</item>
<item key="order_id">987625</item>
<item key="completed_from">2006-10-04</item>
<item key="limit">20</item>

697

<item key="owner_confirm_to">2006-10-06</item>
<item key="owner_request_from">2006-10-04</item>
<item key="owner_confirm_from">2006-10-04</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">DOMAIN</item>
<item key="is_success">1</item>
<item key="response_code">200</item>
<item key="response_text">Command successful</item>
<item key="attributes">
<dt_assoc>
<item key="page_size">20</item>
<item key="page">1</item>
<item key="total">1</item>
<item key="transfers">
<dt_array>
<item key="0">
<dt_assoc>

698

<item key="owner_request_date">06-OCT2006 14:23:54</item>


<item key="status">cancelled</item>
<item
key='affiliate_id'>NUAffiliate123</item>
<item key="registry_request_date"/>
<item key="owner_confirm_date"/>
<item key="registry_request_date_epoch"/>
<item key="owner_confirm_ip"/>
<item key="completed_date">06-OCT-2006
14:59:01</item>
<item
key="order_date_epoch">1159729141</item>
<item key="owner_confirm_date_epoch"/>
<item
key="request_address">agnes@example.com</item>
<item key="losing_registrar">Tucows</item>
<item key="domain">kaka.cc</item>
<item key="order_date">06-OCT-2006
14:23:52</item>
<item
key="completed_date_epoch">1160159032</item>
<item
key="owner_request_date_epoch">1160159034</item>
<item key="transfer_id">1234</item>
</dt_assoc>
</item>
</dt_array>
</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

699

process_transfer
Description
Action & object
action = process_transfer
object = transfer

Usage
Creates a new order with the same data as a cancelled order; the existing
cancelled order is not modified. This command is only available for failed
transfers with the status of 'cancelled'.

Request parameters for process_transfer


Standard parameters
action = process_transfer
object = transfer
attributes

Attributes
Parameters within the attributes associative array are described below.
Parameter name

Obligation

Definition/Value

order_id

Required

The ID of the order to be resubmitted.

reseller

Required

Reseller username.

Response parameters for process_transfer


Standard parameters
action = reply
object = transfer
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

700

Attributes
If the request is successful, the attributes associative array may include the
following:
Parameter name Obligation

Definition/Value

order_id

ID of the newly created order.

Returned if is_success =
true

Examples for process_transfer


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">PROCESS_TRANSFER</item>
<item key="object">TRANSFER</item>
<item key="attributes">
<dt_assoc>
<item key="reseller">test_rsp</item>
<item key="order_id">111111</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

701

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">TRANSFER</item>
<item key="is_success">1</item>
<item key="response_text">Transfer request has been
successfully sent. Admin contact email: admin@example.com'</item>
<item key="response_code">200</item>
<item key="attributes">
<dt_assoc>
<item key="order_id">1111111</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

702

rsp2rsp_push_transfer
Description
Action & object
action = rsp2rsp_push_transfer
object = domain

Usage
Transfer a domain from one Reseller to another Reseller. The domain is not
renewed when it is transferred and so no charges are incurred.
Important: Before you can push a domain to another Reseller account, that
Reseller has to add you to their allow list by entering your username on the
Push Domain Settings page of the RWI. For more information, see the
Reseller's Guide to Domain Name Registration and Management guide.

Request parameters for rsp2rsp_push_transfer


Standard parameters
action = rsp2rsp_push_transfer
attributes

Attributes
Parameters within the attributes associative array are described below.
Parameter
name

Obligation

Definition/Value

domain

Required

The domain that you want to push to another


Reseller

grsp

Required

The name of the gaining Reseller.

password

Optional

Registrant password. If specified, this value will be


used for the new registration; otherwise the original
password will be used.

username

Optional

Registrant username. If specified, this value will be


used for the new registration; otherwise the original
username will be used.

703

Response parameters for rsp2rsp_push_transfer


Standard parameters
action = reply
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

Examples for rsp2rsp_push_transfer


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">RSP2RSP_PUSH_TRANSFER</item>
<item key="attributes">
<dt_assoc>
<item key="domain">example.com</item>
<item key="grsp"/>
<item key="username">robson</item>
<item key="password">abc123</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

704

Response
If successful
<?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"></item>
<item key="is_success">1</item>
<item key="response_text">'Domain successfully
transferred'</item>
<item key="response_code">200</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

If unsuccessful
<?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>

705

<item key="object"></item>
<item key="is_success">0</item>
<item key="response_text">'grsp must be another
reseller'</item>
<item key="response_code">465</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

706

send_password (transfer)
Description
Action & object
action = send_password
object = transfer

Usage
Resends an email message for a transfer that is in 'pending owner approval'
state, to the admin contact listed for the domain at the time that the transfer
request was submitted. If a transfer is currently in progress, but in a
different state, an error is returned.
Note: This does not handle bulk transfers as such if the password is
requested for a domain that is part of a bulk-transfer order, the password
returned in the email is only usable for the single domain.

Request parameters for send_password (transfer)


Standard Parameters
action = send_password
object = transfer
attributes

Attributes
Parameters within the attributes associative array are described below.
Parameter
name

Obligation

Definition/Value

domain_name

Required

The domain name for which the password is to


be initiated.

Response parameters for send_password (transfer)


Standard parameters
action = reply
object = transfer

707

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

Examples for send_password (transfer)


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">send_password</item>
<item key="object">transfer</item>
<item key="attributes">
<dt_assoc>
<item key="domain_name">example.com</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>

708

<body>
<data_block>
<dt_assoc>
<item key="protocol">XCP</item>
<item key="action">reply</item>
<item key="object">transfer</item>
<item key="response_text">Message sent.</item>
<item key="is_success">1</item>
<item key="response_code">200</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

709

trade_domain
Description
Action & object
action = trade_domain
object = domain

Usage
Transfers ownership of a domain name from one registrant to another. This
command may be used for the following domains: .CL, .COM.AR, .DK, FI,
.FR, .HK, .HU, .MY, .NO, .NU, .PM, .RE, .RO, .RU, .SE, .SG, .TF, .WF, and .YT.

Request parameters for trade_domain


Standard parameters
action = trade_domain
object = domain
attributes

Attributes
Parameters within the attributes associative array are described below.
Parameter name Obligation

Definition/Value

address1

Required for all The street address of the new owner.


except .BE.

city

Required for all The new owners city.


except .BE.

country

Required for all The new owners country.


except .BE.

domain

Required

The domain that is being traded.

domain_auth_info

Required for
.BE

The domain's Authcode. To request an


Authcode you can use the send_authcode
command; the Authcode is sent to the
domain's admin contact.

email

Required

The new owners email address.

first_name

Required

The first name of the new owner.

last_name

Required

The last name of the new owner

710

Parameter name Obligation

Definition/Value

org_name

Required

The name of the new owners organization.

phone

Required for all The new owners phone number.


except .BE.

postal_code

Required for all The new owners postal code.


except .BE.

state

Required for all The new owners state.


except .BE.

tld_data

Required for all An associative array containing the


except .BE.
registrant_extra_info associative array
which submits additional parameters that are
required by various domain registries.
For more information, see the TLDData
section.

Response parameters for trade_domain


Standard parameters
action = reply
object = domain
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

711

Examples for trade_domain


Example 1
Transfers ownership of a .BE domain.

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">TRADE_DOMAIN</item>
<item key="object">DOMAIN</item>
<item key="attributes">
<dt_assoc>
<item key="first_name">Simon</item>
<item key="last_name">Dubois</item>
<item key="domain">js4.be</item>
<item key="email">dubois@example.be</item>
<item key="org_name">Example Co.</item>
<item keyi="domain_auth_info">ewgnRwnH</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

Response
<?xml version='1.0' encoding="UTF-8" standalone="no" ?>

712

<!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">DOMAIN</item>
<item key="response_text">Command completed successfully
OK</item>
<item key="response_code">200</item>
<item key="is_success">1</item>
<item key="registry_response_code">1000</item>
<item key="response_text">Trade for js4.be has been
successfully issued.</item>
<item key="response_code">200</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

Example 2
Transfers ownership of a .DK domain

Request
<?xml version='1.0' encoding='UTF-8' standalone='no'?>
<!DOCTYPE OPS_envelope SYSTEM 'ops.dtd'> <OPS_envelope>
<OPS_envelope>
<header>
<version>0.9</version>
</header>
<body>
<data_block>

713

<dt_assoc>
<item key='protocol'>XCP</item>
<item key='action'>TRADE_DOMAIN</item>
<item key='object'>DOMAIN</item>
<item key='attributes'>
<dt_assoc>
<item key='org_name'>Example Co.</item>
<item key='domain'>example.dk</item>
<item key='first_name'>Daniel</item>
<item key='last_name'>Jensen</item>
<item key='address1'>Gammel Kongevej 1</item>
<item key='city'>Copenhagen V</item>
<item key='state'/>
<item key='country'>DK</item>
<item key='postal_code'>1610</item>
<item key='phone'>+1.33257400</item>
<item key='email'>djensen@example.dk</item>
<item key='tld_data'>
<dt_assoc>
<item key='registrant_extra_info'>
<dt_assoc>
<item key='registrant_type'>individual</item>
</dt_assoc>
</item>
</dt_assoc>
</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

Response
<?xml version='1.0' encoding='UTF-8' standalone='no'?>

714

<!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'>DOMAIN</item>
<item key='response_text'>Trade for example.dk has been
successfully issued.</item>
<item key='response_code'>200</item>
<item key='is_success'>1</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

Example 3
Transfers ownership of a .FR domain.

Request
<?xml version='1.0' encoding='UTF-8'?>
<OPS_envelope>
<header>
<version>0.9</version>
</header>
<body>
<data_block>
<dt_assoc>
<item key='protocol'>XCP</item>
<item key='action'>TRADE_DOMAIN</item>
<item key='object'>DOMAIN</item>
<item key='attributes'>

715

<dt_assoc>
<item key='domain'>example.fr</item>
<item key='first_name'>Henri</item>
<item key='last_name'>LeFluer</item>
<item key='address1'>13 Rue Daze</item>
<item key='city'>Paris</item>
<item key='state'/>
<item key='country'>FR</item>
<item key='postal_code'>75002</item>
<item key='org_name'>French Impressions</item>
<item key='phone'>+1.3365551212</item>
<item key='email'>lefluer@example.com</item>
<item key='tld_data'>
<dt_assoc>
<item key='registrant_extra_info'>
<dt_assoc>
<item key='date_of_birth'>1979-03-03</item>
<item key='place_of_birth'>Paris</item>
<item key='country_of_birth'>FR</item>
<item key='postal_code_of_birth'>75008</item>
<item key='registrant_type'>individual</item>
</dt_assoc>
</item>
</dt_assoc>
</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'>

716

<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'>DOMAIN</item>
<item key='response_code'>200</item>
<item key='is_success'>1</item>
<item key='response_text'>Trade for example.fr has been
successfully issued.</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

Example 4
Transfers ownership of a .COM.AR domain

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'>TRADE_DOMAIN</item>
<item key='object'>DOMAIN</item>

717

<item key='attributes'>
<dt_assoc>
<item key='first_name'>Daniela</item>
<item key='last_name'>Sosa</item>
<item key='address1'>Piedras No 623</item>
<item key='city'>San Sebastian</item>
<item key='state'/>
<item key='postal_code'>B1000TBU</item>
<item key='country'>AR</item>
<item key='org_name'>Sosa Informatica S.A.</item>
<item key='domain'>example.com.ar</item>
<item key='phone'>+1.4165350123</item>
<item key='email'>sosa@example.com</item>
<item key='tld_data'>
<dt_assoc>
<item key='registrant_extra_info'>
<dt_assoc>
<item key='tax_number'>27-10563145-8</item>
<item key='id_card_number'>10563145</item>
<item key='registrant_type'>individual</item>
</dt_assoc>
</item>
</dt_assoc>
</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>

718

<header>
<version>0.9</version>
</header>
<body>
<data_block>
<dt_assoc>
<item key='protocol'>XCP</item>
<item key='action'>REPLY</item>
<item key='object'>DOMAIN</item>
<item key='response_code'>200</item>
<item key='is_success'>1</item>
<item key='response_text'>Trade for example.com.ar has been
successfully issued.</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

719

Bulk Changes Commands


This section contains the following commands:

bulk_transferTransfers several domains at once.


submit (bulk_change)Changes information associated with a large set
of domains.
submit_bulk_changeEnable or disable WHOIS Privacy for multiple
domains.

720

bulk_transfer
Description
Action & object
action = bulk_transfer
object = domain

Usage
Submits a request to transfer several domains at once. The list is grouped by
the admin contact email address and only one email message (containing a
list of the domains) is sent to each admin contact.
Note: Bulk transfers only work for .COM and .NET domains.

Request parameters for bulk_transfer (domains)


Standard parameters
action = bulk_transfer
object = domain
attributes

Attributes
Parameters within the attributes associative array are described below.
Parameter name

Obligation

Definition/Value

affiliate_id

Optional

The associated affiliate ID.

custom_tech_contact Required

Indicates whether to use registrant's or


Reseller's tech contact.
0Use the Reseller's tech contact
data; the tech contact data provided
with the request is ignored
1Use the registrant's tech contact
data

domain_list

Required

A list of fully qualified domain names

handle

Optional

Instructions for handling the order. If this


parameter is not specified, the default
parameter is taken from the RWI settings.
saveSave the order to be
processed at a later time.
processProcess order

721

Parameter name

Obligation

Definition/Value
immediately.

reg_domain

Required if
The registrant's domain name
link_domains =
1. If so, the
registered
domain is linked
to the profile
indicated by
reg_username
and
reg_password.
Otherwise, the
reg_username
and
reg_password
fields are used to
create a new
profile.

reg_password

Required

The registrant's password.


You can use any of the following
alphanumeric characters and symbols: A-Z,
a-z, 0-9, []()!@\$^,.~|=-+_{}#"

reg_username

Required

The registrant's user name.


You can use any of the following
alphanumeric characters: A-Z, a-z, 0-9.

Response parameters for bulk_transfer (domains)


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

722

Attributes
If the request is successful, the attributes associative array may include the
following:
Parameter name

Obligation

Definition/Value

bulk_transfer_id

Returned if
A system-generated order ID.
is_success =
true

successful_domains

Returned if
List of domains for which transfers were
is_success = successfully initiated. Each item in the list is
true
represented as a hash, which contains a pair
consisting of the domain name and order_id
for the domain transfer.
For more information, see the
Successful_Domains table below.

Successful_Domains
Parameters within the successful_domains associative array are described
below.
Parameter name

Obligation

Definition/Value

domain

Always
returned

The fully qualified domain name for a specific


transfer.

order_id

Always
returned

The order ID for a specific domain transfer.

Examples for bulk_transfer (domains)


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>

723

<dt_assoc>
<item key="protocol">XCP</item>
<item key="action">bulk_transfer</item>
<item key="object">domain</item>
<item key="attributes">
<dt_assoc>
<item key="domain_list">
<dt_array>
<item key="0">aug26-1.com</item>
<item key="1">aug26-2.com</item>
<item key="2">aug26-3.com</item>
<item key="3">aug26-4.com</item>
<item key="4">aug26-5.com</item>
</dt_array>
</item>
<item key="reg_password">secret</item>
<item key="custom_tech_contact">0</item>
<item key="reg_domain">example.com</item>
<item key="contact_set">
... see "Contact Set"
</item>
<item key="reg_username">jdoe</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>

724

</header>
<body>
<data_block>
<dt_assoc>
<item key="protocol">XCP</item>
<item key="action">REPLY</item>
<item key="object">DOMAIN</item>
<item key="response_text">Batch transfer successfully
submitted. Please review our orders in 15 minutes to verify that they
were successfully processed.</item>
<item key="attributes">
<dt_assoc>
<item key="bulk_transfer_id">74488</item>
<item key="successful_domains">
<dt_array>
<item key="0">
<dt_assoc>
<item key="order_id">3507635</item>
<item key="domain">aug26-4.com</item>
</dt_assoc>
</item>
<item key="1">
<dt_assoc>
<item key="order_id">3507632</item>
<item key="domain">aug26-1.com</item>
</dt_assoc>
</item>
<item key="2">
<dt_assoc>
<item key="order_id">3507634</item>
<item key="domain">aug26-3.com</item>
</dt_assoc>
</item>
<item key="3">
<dt_assoc>
<item key="order_id">3507636</item>

725

<item key="domain">aug26-5.com</item>
</dt_assoc>
</item>
<item key="4">
<dt_assoc>
<item key="order_id">3507633</item>
<item key="domain">aug26-2.com</item>
</dt_assoc>
</item>
</dt_array>
</item>
</dt_assoc>
</item>
<item key="is_success">1</item>
<item key="response_code">200</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

726

submit (bulk_change)
Description
Action & object
action = submit
object = bulk_change

Usage
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.

727

Request parameters for submit (bulk_change)


Standard parameters
action = submit
object = bulk_change
attributes

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.
0Do not apply the change to
all domains; instead, apply to
the domains specified in the
change_items parameter
1Apply 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_
domains

Optional

Applies the bulk change to locked as


well as unlocked domains.
Note: this parameter cannot be used
for bulk renewals.
0Do not apply to locked
domains; this is the default
1Apply to locked domains

change_items

change_type

Conditional, can only


be used if
apply_to_all_
reseller_items is not
used or equals 0.

List of domains to which to apply the


bulk change. Maximum is 10,000
domains

Required

The type of bulk change to perform.

Note: If
apply_to_all_reseller_items =1,
do not include this parameter.
Allowed values are:

availability_checkCheck
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

728

Parameter name

Obligation

Definition/Value
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_zoneAdd, remove or
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_recordAdd,
modify, or remove DNS
records (A, CNAME, etc)
from zones for multiple
domains.
domain_contacts
Change
contact information for
multiple domains
domain_forwardingAdd or
remove the domain forwarding
service for multiple domains.
domain_lockLock or unlock
multiple domains.
domain_nameservers
Add, remove, or assign
Nameservers
domain_parked_pages
Enable or disable Parked
Pages for multiple domains
domain_renewRenew
multiple domains in one
request
push_domainsMove or
'push' domains from one
Reseller account to another.

729

Parameter name

Obligation

Definition/Value

Note: Before you can push


domains to another Reseller,
you need to add that Reseller
to your allow list in OpenSRS.
storefront_managedMove
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.

contact_email

Optional

whois_privacyEnable or
disable WHOIS Privacy

Email 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 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

using_dns_nameservers

not_using_dns_nameservers

all_selected_domains

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.

730

Parameter name

Obligation

Definition/Value

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

0Do not change the


Nameservers
1Change the nameservers

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.
dns_record_type Allowed values
A

ip_address, subdomain

AAAA

ipv6_address,
subdomain

CNAME

hostname, subdomain

MX

priority, hostname,
subdomain

SRV

priority, weight,
subdomain, hostname,
port

TXT

subdomain, text

731

Parameter
name

Obligation

Definition/Value
For an explanation of each of these record
types and allowed values, see Request
parametersfor set_dns_zone.

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

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.

732

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

op_type

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

Obligation

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.

733

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_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

period

Optional

Optional

0Disable auto-renew

1Enable auto-renew

Changes the status of the let expire flag. If not


specified, the current setting applies.

0Do not expire the domain silently

1Expire the domain silently

The renewal term. Valid values are 0 to 10,


depending on terms allowed for the TLD. If not
specified, domain is not renewed.

734

For change_type = push_domains


Attributes
Parameters within the attributes associative array are described below.
Parameter name

Obligation

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

op_type

Required

The type of operation to perform.


Allowed values are

move_to_storefrontMove all of the


specified domains from OpenSRS to
Storefront
move_to_opensrsMove 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 name

Obligation

Definition/Value

op_type

Required

The type of operation to perform.


Allowed values are enable or disable.

735

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
is_success =
true

An ID generated by the system.

Examples for submit (bulk_change)


Request
For bulk availability check
<?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'>

736

<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'>jdoe@example.com</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

For bulk add dns zone


<?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>

737

<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>

For bulk add dns zone record


<?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>

738

</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>

For bulk reset dns zone


<?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>

739

<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>

For bulk modify dns zone record


<?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">

740

<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>

For bulk remove dns zone


<?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_action">remove</item>
<item key="change_items">

741

<dt_array>
<item key="0">dnstestingthing1.com</item>
<item key="1">dnstestingthing2.com</item>
</dt_array>
</item>
<item key="only_if">
<dt_assoc>
<item key="dns_template">my_name</item>
</dt_assoc>
</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

For bulk remove dns zone record


<?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">

742

<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>

For bulk domain forwarding


<?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>

743

</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

For bulk domain locking


<?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">jdoe@example.com</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

744

For bulk nameserver change


<?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">jdoe@example.com</item>
</dt_assoc>
</item>
</dt_assoc>

745

</data_block>
</body>
</OPS_envelope>

For bulk domain contact change


<?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>

746

<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>

For bulk parked pages


<?xml version='1.0' encoding='UTF-8' standalone='no' ?>
<!DOCTYPE OPS_envelope SYSTEM 'ops.dtd'>
<OPS_envelope>
<header>
<version>0.9</version>
</header>
<body>

747

<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'>jdoe@example.com</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>

For bulk domain renewal


<?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>

748

<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'>jdoe@example.com</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

For bulk WHOIS Privacy


<?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>

749

<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'>jdoe@example.com</item>
<item key='change_type'>whois_privacy</item>
<item key='op_type'>enable</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

For bulk push domain transfers to another Reseller


<?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>

750

</dt_array>
</item>
<item key='gaining_reseller_username'>orange</item>
<item key='contact_email'>jdoe@example.com</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

For bulk move domains


<?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">jdoe@example.com</item>
<item key="change_items">
<dt_array>
<item key="0">comcompliance2.com</item>
<item key="1">comcompliance3.com</item>
</dt_array>
</item>
</dt_assoc>

751

</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>

752

submit_bulk_change (WHOIS Privacy)


Description
Action & object
action = submit_bulk_change
object = bulk_chang e

Usage
This command allows you to enable or disable WHOIS Privacy for multiple
domains. WHOIS Privacy can be enabled or disabled for .COM, .NET, .ORG,
.INFO, .BIZ, .ME, .MOBI, .NAME, .CC, .CO, and .TV TLDs.

Request parameters for submit_bulk_change


Standard parameters
action = submit_bulk_change
object = bulk_change
attributes

Attributes
Parameters within the attributes associative array are described below.
Parameter name

Obligation

Definition/Value

apply_to_locked_
domains

Optional

Specifies whether to apply WHOIS Privacy


to locked domains.

0 Do not apply WHOIS Privacy to


locked domains. This is the default.
1Apply WHOIS Privacy to locked
domains.

change_items

Required

List of domains for which you want to


purchase WHOIS Privacy.

change_type

Required

Identifies WHOIS Privacy as the type of


service to implement in bulk.
Allowed values are:

whois_privacy

whois_privacy_purchase -

DEPRECATED.
If this value is part of your current
integration, it continues to work; however,
we recommend that you use
whois_privacy instead

753

Parameter name

Obligation

Definition/Value

contact_email

Optional

The email address to which your request


results are sent. If blank, you do not
receive a results report or any other
notification regarding the bulk WHOIS
Privacy purchase.

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

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_bulk_change</item>
<item key="object">bulk_change</item>
<item key="attributes">
<dt_assoc>
<item key="apply_to_locked_domains">1</item>

754

<item key="contact_email">jdoe@example.com</item>
<item key="change_type">whois_privacy</item>
<item key="op_type">enable</item>
<item key="change_items">
<dt_array>
<item key="0">example1.com</item>
<item key="1">example2.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="response_code">200</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

755

Personal Names Service


The OpenSRS Personal Names Service enables you to offer your customers
web and email addresses based on our extensive portfolio of surnames.
These names cannot be found anywhere else, and represent an estimated
60% of the last names of our North American Resellers' customers. This
service allows your customers to have a website address and an email
address based on their last name without actually owning the name, for
example, adam.robinson.net. In addition, email addresses are available on a
second-level basis (adam@robinson.net).
Note: Because the names are owned by OpenSRS, outbound transfers to
other registrars are not possible.

This section contains the following commands:

name_suggest(surname)Checks whether a specified Personal Names


domain (firstname lastname) is available for registration.
su_registerSubmits a new registration order for an available Personal
Names domain.
query(surname)Queries the properties of the domain.
updatesurnameChanges properties of the Personal Names domain, for
example, changes the forwarding email address or changes from a
forwarding only account to an OpenSRS webmail address.
delete(surname)Deletes the Personal Names domain.

756

name_suggest (surname)
Description
Action & object
action = name_suggest
object = surname

Usage
Checks whether a specified Personal Name, (firstname lastname) is available
for registration in various gTLDs and ccTLDs, suggests other similar domain
names, and checks whether they are available.
Important: This command has been deprecated. To check whether a
specified Personal Names domain, is available for registration, use the
name_suggest(domain) command and specify personal_names.

Request parameters for name_suggest (surname)


Standard parameters
action = name_suggest
object = surname
attributes

Attributes
Parameters within the attributes associative array are described below.
Parameter
name

Obligation

Definition/Value

searchstring

Required

The name whose availability you want to check, for


example, 'john smith'. Be sure to include both the
first and the last name. If the first name is not
specified, results are returned for the last name only,
along with a message stating that a first name is
required.
Note: The first level domain (for example, .COM) is
not required.

757

Response parameters for name_suggest (surname)


Standard parameters
action = reply
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

suggestion

Returned if
The results returned.
is_success = For more information, see the Suggestion table
true
below.

Suggestion
Parameters within the suggestion associative array are described below.
Parameter
name

Obligation

Definition/Value

count

Always
returned

The number of results returned.

items

Always
returned

List of domain names and their statuses.


For more information, see the Items table
below.

Items
Parameters within the items associative array are described below.

758

Parameter
name

Obligation

Definition/Value

domain

Always
returned

Returned domain name.

status

Always
returned

Indicates whether the returned domain name is


available and can be registered. Allowed value is
available.

Examples for name_suggest (surname)


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">name_suggest</item>
<item key="object">surname</item>
<item key="attributes">
<dt_assoc>
<item key="searchstring">steven smith</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>

759

<version>0.9</version>
</header>
<body>
<data_block>
<dt_assoc>
<item key="protocol">XCP</item>
<item key="action">REPLY</item>
<item key="object">SURNAME</item>
<item key="response_text">Command completed
successfully</item>
<item key="is_success">1</item>
<item key="response_code">200</item>
<item key="attributes">
<dt_assoc>
<item key="suggestion">
<dt_assoc>
<item key="count">11</item>
<item key="response_text">Command completed
successfully</item>
<item key="response_code">200</item>
<item key="is_success">1</item>
<item key="items">
<dt_array>
<item key="0">
<dt_assoc>
<item
key="domain">steven.smith.net</item><item key="status">available</item>
</dt_assoc>
</item>
<item key="1">
<dt_assoc>
<item
key="domain">steven.smithemail.com</item>
<item key="status">available</item>
</dt_assoc>

760

</item>
<item key="2">
<dt_assoc>
<item
key="domain">steven.smithhome.com</item>
<item key="status">available</item>
</dt_assoc>
</item>
<item key="3">
<dt_assoc>
<item
key="domain">steven.smithmail.com</item>
<item key="status">available</item>
</dt_assoc>
</item>
<item key="4">
<dt_assoc>
<item
key="domain">steven.smithnet.net</item>
<item key="status">available</item>
</dt_assoc>
</item>
<item key="5">
<dt_assoc>
<item
key="domain">steven.smithnet.org</item>
<item key="status">available</item>
</dt_assoc>
</item>
<item key="6">
<dt_assoc>
<item
key="domain">steven.smithpage.net</item>
<item key="status">available</item>
</dt_assoc>
</item>
<item key="7">

761

<dt_assoc>
<item
key="domain">steven.smithpost.com</item>
<item key="status">available</item>
</dt_assoc>
</item>
<item key="8">
<dt_assoc>
<item
key="domain">steven.smithweb.org</item>
<item key="status">available</item>
</dt_assoc>
</item>
<item key="9">
<dt_assoc>
<item
key="domain">steven.thesmith.org</item>
<item key="status">available</item>
</dt_assoc>
</item>
<item key="10">
<dt_assoc>
<item
key="domain">steven.nesmith.com</item>
<item key="status">available</item>
</dt_assoc>
</item>
</dt_array>
</item>
</dt_assoc>
</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

762

su_register
Description
Action & object
action = su_register
object = surname

Usage
Submits a new registration order for an available Personal Names domain.

Request parameters for su_register


Standard parameters
action = su_register
object = surname
registrant_ip = valid IP address of the registrant (optional)
attributes

Attributes
Parameters within the attributes associative array are described below.
Parameter
name

Obligation Definition/Value

dnsRecords

Optional

A DNS record associated with the domain along with


its value.
Note: You can only specify one DNS record: either A
or CNAME.
For more information, see the DNS Records table
below.

domain

Required

The domain name to register.

mailbox

Required

An array that defines the type of account to create.


For more information, see the Mailbox table below.

763

DNS Records
Parameters within the dnsRecords associative array are described below.
Parameter
name

Obligation Definition/Value

content

Optional

The IP address or fully qualified domain name.


Note: When specifying the domain name for CNAME
records, put a dot after the TLD.

name

Optional

The unqualified name of the DNS record.


Specify @ to indicate the actual zone rather than
another record in the zone.

type

Optional

The type of DNS record. Allowed values are A or


CNAME.

Mailbox
Parameters within the mailbox associative array are described below.
Parameter
name

Obligation Definition/Value

forward_email

Optional

mailbox_type

Required

password

Required

The address to which email is forwarded.


The type of mailbox account. Allowed values are:
MAILBOX create a regular email account.
WEBMAIL_ONLY create a Webmail only
account (no IMAP/POP/SMTP).
FORWARD_ONLY THIS VALUE HAS BEEN
DEPRECATED. If you submit this value, the
command will fail.
The registrant's initial email password.

Response parameters for su_register


Uses standard response message (see "Responsemessages").

764

Examples for su_register


Request
Register a domain with a regular mailbox
<?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">SU_REGISTER</item>
<item key="object">SURNAME</item>
<item key="attributes">
<dt_assoc>
<item key="domain">steven.smith.net</item>
<item key="mailbox">
<dt_assoc>
<item key="mailbox_type">MAILBOX</item>
<item key="password">changeit</item>
</dt_assoc>
</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

765

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'>SURNAME</item>
<item key='is_success'>1</item>
<item key='response_code'>200</item>
<item key='response_text'>Command completed successfully</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

Request
Register a domain with a regular mailbox and email forwarding
<?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">SU_REGISTER</item>

766

<item key="object">SURNAME</item>
<item key="attributes">
<dt_assoc>
<item key="domain">steven.smith.net</item>
<item key="mailbox">
<dt_assoc>
<item key="mailbox_type">MAILBOX</item>
<item key="password">changeit</item>
<item key="forward_email">steve@example.com</item>
</dt_assoc>
</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'>SURNAME</item>
<item key='is_success'>1</item>
<item key='response_code'>200</item>
<item key='response_text'>Command completed successfully</item>
</dt_assoc>

767

</data_block>
</body>
</OPS_envelope>

Request
Register a domain with webmail only
<?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">SU_REGISTER</item>
<item key="object">SURNAME</item>
<item key="attributes">
<dt_assoc>
<item key="domain">steven.smith.net</item>
<item key="mailbox">
<dt_assoc>
<item key="mailbox_type">WEBMAIL_ONLY</item>
<item key="password">changeit</item>
</dt_assoc>
</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
<OPS_envelope>

768

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'>SURNAME</item>
<item key='is_success'>1</item>
<item key='response_code'>200</item>
<item key='response_text'>Command completed successfully</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

Request
Register a domain with webmail only and email forwarding
<?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">SU_REGISTER</item>
<item key="object">SURNAME</item>
<item key="attributes">

769

<dt_assoc>
<item key="domain">steven.smith.net</item>
<item key="mailbox">
<dt_assoc>
<item key="mailbox_type">WEBMAIL_ONLY</item>
<item key="password">changeit</item>
<item key="forward_email">steve@example.com</item>
</dt_assoc>
</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'>SURNAME</item>
<item key='is_success'>1</item>
<item key='response_code'>200</item>
<item key='response_text'>Command completed successfully</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

770

Request
Register a domain with email forwarding and set the A record
<?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">SU_REGISTER</item>
<item key="object">SURNAME</item>
<item key="attributes">
<dt_assoc>
<item key="domain">steven.smith.net</item>
<item key="mailbox">
<dt_assoc>
<item key="mailbox_type">MAILBOX</item>
<item key="password">changeit</item>
<item key="forward_email">steve@example.com</item>
</dt_assoc>
</item>
<item key="dnsRecords">
<dt_array>
<item key="0">
<dt_assoc>
<item key="type">A</item>
<item key="name">@</item>
<item key="content">127.0.0.2</item>
</dt_assoc>
</item>
</dt_array>

771

</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'>SURNAME</item>
<item key='is_success'>1</item>
<item key='response_code'>200</item>
<item key='response_text'>Command completed successfully</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

Request
Register a domain with a regular mailbox and set the Cname record
<?xml version='1.0' encoding='UTF-8' standalone='no' ?>
<!DOCTYPE OPS_envelope SYSTEM 'ops.dtd'>
<OPS_envelope>
<header>

772

<version>0.9</version>
</header>
<body>
<data_block>
<dt_assoc>
<item key="protocol">XCP</item>
<item key="action">SU_REGISTER</item>
<item key="object">SURNAME</item>
<item key="attributes">
<dt_assoc>
<item key="domain">steven.smith.net</item>
<item key="mailbox">
<dt_assoc>
<item key="mailbox_type">MAILBOX</item>
<item key="password">changeit</item>
</dt_assoc>
</item>
<item key="dnsRecords">
<dt_array>
<item key="0">
<dt_assoc>
<item key="type">CNAME</item>
<item key="name">@</item>
<item key="content">steven.smith.net.</item>
</dt_assoc>
</item>
</dt_array>
</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

Note: The dot after .net is required for CNAME records.

773

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'>SURNAME</item>
<item key='is_success'>1</item>
<item key='response_code'>200</item>
<item key='response_text'>Command completed successfully</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

774

query (surname)
Description
Action & object
action = query
object = surname

Usage
Queries the properties of the domain.

Request parameters for query (surname)


Standard parameters
action = query
object = surname
attributes

Attributes
Parameters within the attributes associative array are described below.
Parameter
name

Obligation

Definition/Value

domain

Required

The Personal Names domain to be queried.

query_dns

Optional

Requests information about the DNS settings.

query_email

Optional

0Do not return DNS information; this is


the default.
1Return all DNS records for the zone.

Requests information about the associated email


account.
0Do not return email account
information; this is the default.
1Return information about the email

account.

775

Response parameters for query (surname)


Standard parameters
action = reply
object = surname
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

created_on

Returned if
Date the domain was created.
is_success =
true

domain

Returned if
The Personal Names domain to which the returned
is_success = values apply.
true

mailbox

Optional

Information about the mailbox.


For more information, see the Mailbox table
below.

state

Optional

Current status of the Personal Names domain.


Available value is active.

zone

Optional

Information about the DNS records.


For more information, see the Zone table below.

Mailbox
Parameters within the mailbox associative array are described below.
Parameter
name

Obligation

Definition/Value

forward_email

Optional

The address to which email is forwarded.

mailbox_type

Optional

The type of mailbox: MAILBOX or


WEBMAIL_ONLY.

776

Records
Parameters within the records associative array are described below.
Parameter
name

Obligation

Definition/Value

content

Optional

The IP address or fully qualified domain name.

name

Optional

The unqualified domain name or @ symbol.

type

Optional

The type of DNS record. Allowed values are A and


CNAME.

Zone
Parameters within the zone associative array are described below.
Parameter
name

Obligation

Definition/Value

records

Optional

A list of the DNS records associated with the


domain, along with their values.

zone_id

Optional

Internal identifier for the DNS zone.

Examples for query (surname)


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">QUERY</item>
<item key="object">SURNAME</item>
<item key="attributes">
<dt_assoc>

777

<item key="domain">steven.smith.net</item>
<item key="query_email">1</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">SURNAME</item>
<item key="is_success">1</item>
<item key="response_text">Command completed successfully</item>
<item key="response_code">200</item>
<item key="attributes">
<dt_assoc>
<item key="domain">steven.smith.net</item>
<item key="state">active</item>
<item key="created_on">2008-01-03T14:25:45.000-05:00</item>
<item key="mailbox">
<dt_assoc>
<item key="mailbox_type">MAILBOX</item>
<item key="response_text">OK</item>
<item key="is_success">1</item>
</dt_assoc>

778

</item>
<item key="zone">
<dt_assoc>
<item key="state">active</item>
<item key="response_text">OK</item>
<item key="is_success">1</item>
<item key="zone_id">3186929</item>
<item key="name">steven.smith.net</item>
<item key="records">
<dt_array>
<item key="0">
<dt_assoc>
<item key="content">steven.smith.net</item>
<item key="type">CNAME</item>
<item key="name">www</item>
</dt_assoc>
</item>
</dt_array>
</item>
</dt_assoc>
</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

779

update (surname)
Description
Action & object
action = update
object = surname

Usage
Changes properties of the domain. You can use this command to change the
DNS records, enable or disable email forwarding, or to change the service
type, for example, to switch from Webmail (no IMAP/POP/SMTP) to a regular
mailbox.

Request parameters for update surname


Standard parameters
action = update
object = surname
attributes

Attributes
Parameters within the attributes associative array are described below.
Parameter
name

Obligation

Definition/Value

dnsRecords

Optional

A DNS record associated with the domain along


with its value.
Note: You can only specify one DNS record: either
A or CNAME.
For more information, see the DNS Records table
below.

domain

Required

The domain to be updated.

mailbox

Optional

An array that defines the type of account.


For more information, see the Mailbox table
below.

780

DnsRecords
Parameters within the dnsRecords associative array are described below.
Parameter
name

Obligation

Definition/Value

content

Optional

The IP address or the fully qualified domain name.

name

Optional

The new name for the DNS record


Specify @ to indicate the actual zone rather than
another record in the zone.

type

Optional

Type of DNS record. Allowed values are A or


CNAME.

Warning: If you update dnsRecords, you must supply a full list of records.
Any committed records will be deleted.

Mailbox
Parameters within the mailbox associative array are described below.
Parameter name

Obligation

Definition/Value

disable_forward_
email

Optional

Disable email forwarding.


Allowed value is 1.
Note: To enable forwarding, use the
forward_email parameter.

forward_email

Optional

The address to which email is forwarded.

mailbox_type

Optional

Change the type of mailbox account. Allowed


values are:

password

Optional

MAILBOXChange to regular email


account.
WEBMAIL_ONLYChange to
Webmail only account (no
IMAP/POP/SMTP).
FORWARD_ONLYTHIS VALUE
HAS BEEN DEPRECATED.

The registrant's new email password.

781

Response parameters for update surname


Standard parameters
action = reply
object = surname
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

Examples for update surname


Request
Change a regular mailbox account to a webmail only account and
enable email forwarding
<?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">UPDATE</item>
<item key="object">SURNAME</item>
<item key="attributes">
<dt_assoc>
<item key="domain">steven.smith.net</item>
<item key="mailbox">
<dt_assoc>
<item key="mailbox type">WEBMAIL_ONLY</item>
<item key="forward_email">steve@example.com</item>
</dt_assoc>
</item>

782

</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">SURNAME</item>
<item key="is_success">1</item>
<item key="response_text">Command completed
successfully</item>
<item key="response_code">200</item>
</dt_assoc>
</data_block>
</body>
<OPS_envelope>

783

Request
Change a webmail only account to a regular mailbox, change the
password, and set the A record
<?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">UPDATE</item>
<item key="object">SURNAME</item>
<item key="attributes">
<dt_assoc>
<item key="domain">steven.smith.net</item>
<item key="mailbox">
<dt_assoc>
<item key="mailbox_type">MAILBOX</item>
<item key="password">changeit</item>
</dt_assoc>
</item>
<item key="dnsRecords">
<dt_array>
<item key="0">
<dt_assoc>
<item key="type">A</item>
<item key="name">@</item>
<item key="content">127.0.0.2</item>
</dt_assoc>
</item>
</dt_array>
</item>

784

</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">SURNAME</item>
<item key="is_success">1</item>
<item key="response_text">Command completed
successfully</item>
<item key="response_code">200</item>
</dt_assoc>
</data_block>
</body>
<OPS_envelope>

785

Request
Change a webmail only account to a regular mailbox and disable
email forwarding
<?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">UPDATE</item>
<item key="object">SURNAME</item>
<item key="attributes">
<dt_assoc>
<item key="domain">steven.smith.net</item>
<item key="mailbox">
<dt_assoc>
<item key="mailbox_type">MAILBOX</item>
<item key="disable_forward_email">1</item>
</dt_assoc>
</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

786

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">SURNAME</item>
<item key="is_success">1</item>
<item key="response_text">Command completed
successfully</item>
<item key="response_code">200</item>
</dt_assoc>
</data_block>
</body>
<OPS_envelope>

787

delete (surname)
Description
Action & object
action = delete
object = surname

Usage
Deletes the Personal Names domain. This call can delete only one domain at
a time.

Request parameters for delete (surname)


Standard parameters
action = delete
object = surname
attributes

Attributes
Parameters within the attributes associative array are described below.
Parameter name

Obligation

Definition/Value

domain

Required

Personal Names domain to be deleted.

Response parameters for delete (surname)


Standard parameters
action = reply
object = surname
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

788

Examples for delete (surname)


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">DELETE</item>
<item key="object">SURNAME</item>
<item key="attributes">
<dt_assoc>
<item key="domain">steven.smith.net</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>

789

<item key="protocol">XCP</item>
<item key="action">REPLY</item>
<item key="object">SURNAME</item>
<item key="is_success">1</item>
<item key="response_text">Command completed
successfully</item>
<item key="response_code">200</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

790

Nameserver Commands
This section contains the following commands:
advanced_update_nameserverAdds or removes nameservers
for a domain.
create (nameserver)Creates a nameserver in the same domain space
as the cookie's domain.
delete(nameserver)Deletes a nameserver.
get(nameserver)queries nameservers that exist in the current user
profile.
modify(nameserver)Modifies a nameserver.
registry_add_nsAdds a nameserver to one or all registries to which a
Reseller has access.
registry_check_nameserverVerifies whether a nameserver exists at a
particular registry.

791

advanced_update_nameservers
Description
Action & object
action = advanced_update_nameservers
object = domain

Usage
Adds nameservers to a domain, or adds or removes nameservers for a
domain that already has nameservers assigned to it. This command does not
create a nameserver; the nameserver must already exist (see "create
(nameserver).
This command is not supported for .DK. Use the update_all_info command to
change the nameservers for .DK domains.
Note: When you use this command to add or change nameservers for .IT
domains, even though the response says the command was successful, the
new nameservers are not activated immediately. The registry runs a series of
tests against the nameservers before activating them. During the time that
the tests are being run, any query about the domain, such as get
nameservers or getdomainall_info, will return the old nameservers. If the
nameservers do not pass the registry tests within 30 days, the registry
ignores the request. If you issue another advanced_update_nameservers
command before the registry has completed their tests, the new command is
assumed to refer to the old, currently active nameservers.

Request parameters for


advanced_update_nameservers
Standard parameters
action = advanced_update_nameservers
object = domain
cookie = cookie created to access OpenSRS, see "set (cookie)"
attributes

792

Attributes
Parameters within the attributes associative array are described below.
Parameter
name

Obligation

Definition/Value

add_ns

Optional

List of nameservers to add. This array cannot be


submitted in the same command with the assign_ns
parameter, but can be submitted with remove_ns.

assign_ns

Optional

List of nameservers to assign. This array cannot be


submitted in the same command with the add_ns or
remove_ns parameters.

domain

Required if
The relevant domain.
cookie is not
submitted

op_type

Required

The type of operation to perform on the object.


Use assign when submitted with the assign_ns
array.
Use add_remove when submitted with the add_ns
or remove_ns arrays.

remove_ns

Optional

List of nameservers to remove. This array cannot be


submitted in the same command with the assign_ns
parameter, but can be submitted with add_ns.

Response parameters for


advanced_update_nameservers
Standard parameters
action = reply
object = domain
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

793

Examples for advanced_update_nameservers


Request
Assign nameserver
<?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">advanced_update_nameservers</item>
<item key="object">domain</item>
<item key="cookie">781236777:3352</item>
<item key="attributes">
<dt_assoc>
<item key="assign_ns">
<dt_array>
<item key="0">ns1.example.com</item>
<item key="1">ns2.example.com</item>
<item key="2">ns3.example.com</item>
<item key="3">ns4.example.com</item>
</dt_array>
</item>
<item key="op_type">assign</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

794

Add or remove nameserver


<?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">advanced_update_nameservers</item>
<item key="object">domain</item>
<item key="cookie">781236777:3352</item>
<item key="attributes">
<dt_assoc>
<item key="op_type">add_remove</item>
<item key="remove_ns">
<dt_array>
<item key="0">ns1.example.com</item>
<item key="1">ns2.example.com</item>
</dt_array>
</item>
<item key="add_ns">
<dt_array>
<item key="0">ns4.example.com</item>
<item key="1">ns3.example.com</item>
</dt_array>
</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

795

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">domain</item>
<item key="is_success">1</item>
<item key="response_code">200</item>
<item key="response_text">Command completed
successfully</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

796

create (nameserver)
Description
Action & object
action = create
object = nameserver

Usage
Creates a nameserver in the same domain space as the cookie's domain.
Note: This action is not the same as modify domain nameserver_list add,
which actually assigns a nameserver created with create nameserver to
serve the cookie's domain.

Request parameters for create (nameserver)


Standard parameters
action = create
object = nameserver
registrant_ip = valid IP address of the registrant (optional)
cookie = cookie created to access OpenSRS, see "set(cookie)"
attributes

Attributes
Parameters within the attributes associative array are described below.
Parameter name Obligation

Definition/Value

add_to_all_registry

Adds the newly created nameserver to other


registries so that the nameserver can be used
on other TLDs.

Optional

Specify OpenSRS supported TLDs where the


Registry supports nameservers as a separate
object.
domain

Required if
cookie is not
submitted

The relevant domain.

ipaddress

Required if
ipv6 is not
submitted

The IPv4 address of the nameserver.


You can specify ipaddress or ipv6, or both.
Note: This parameter is always required for
.DE, even if ipv6 is submitted.

797

Parameter name Obligation

Definition/Value

ipv6

Required if
The IPv6 address of the nameserver.
ipaddress is You can specify ipaddress or ipv6, or both.
not submitted
Note: This parameter is not supported for .CN.

name

Required

Fully qualified domain name of the


nameserver.

Response parameters for create (nameserver)


Standard parameters
action = reply
object = nameserver
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

Examples for create (nameserver)


Example 1
This example creates an IPv4 nameserver without adding to any foreign
registries.

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">create</item>
<item key="object">nameserver</item>
<item key="cookie">366828736:3210384</item>

798

<item key="attributes">
<dt_assoc>
<item key="name">ns1.example.com</item>
<item key="ipaddress">212.112.123.11</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">nameserver</item>
<item key="response_text">Nameserver Created</item>
<item key="is_success">1</item>
<item key="response_code">200</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

Example 2
This example creates an IPv4 nameserver and adds it to any foreign
registries.

799

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_array>
<item key="0">
<dt_assoc>
<item key="protocol">XCP</item>
<item key="action">create</item>
<item key="object">nameserver</item>
<item key="attributes">
<dt_assoc>
<item key="add_to_all_registry">
<dt_array>
<item key="0">.info</item>
<item key="1">.name</item>
<item key="2">.org</item>
<item key="3">.biz</item>
<item key="4">.de</item>
<item key="5">.cc</item>
<item key="6">.us</item>
</dt_array>
</item>
<item key="ipaddress">207.136.65.24</item>
<item key="name">ns6.example.com</item>
</dt_assoc>
</item>
<item key="cookie">591236085:3210384</item>
<item key="registrant_ip">111.222.333.444</item>
</dt_assoc>

800

</item>
</dt_array>
</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_array>
<item key="0">
<dt_assoc>
<item key="protocol">XCP</item>
<item key="action">reply</item>
<item key="object">nameserver</item>
<item key="add_to_all_registry">
<dt_assoc>
<item key=".biz">
<dt_assoc>
<item key="is_success">1</item>
<item key="response_code">200</item>
<item key="response_text">Command
successful</item>
</dt_assoc>
</item>
<item key=".cc">
<dt_assoc>
<item key="is_success">1</item>
<item key="response_code">200</item>

801

<item key="response_text">Command
successful</item>
</dt_assoc>
</item>
<item key=".info">
<dt_assoc>
<item key="is_success">1</item>
<item key="response_code">200</item>
<item key="response_text">Command
successful</item>
</dt_assoc>
</item>
<item key=".name">
<dt_assoc>
<item key="is_success">1</item>
<item key="response_code">200</item>
<item key="response_text">Command
successful</item>
</dt_assoc>
</item>
<item key=".org">
<dt_assoc>
<item key="is_success">1</item>
<item key="response_code">200</item>
<item key="response_text">Command
successful</item>
</dt_assoc>
</item>
<item key=".us">
<dt_assoc>
<item key="is_success">1</item>
<item key="response_code">200</item>
<item key="response_text">Command
successful</item>
</dt_assoc>
</item>
</dt_assoc>

802

</item>
<item key="is_success">1</item>
<item key="response_code">200</item>
<item key="response_text">Nameserver Created</item>
</dt_assoc>
</item>
</dt_array>
</data_block>
</body>
</OPS_envelope>

Example 3
This example submits the create nameserver command without end-user
credentials and creates an IPv4 nameserver without adding it to any foreign
registries.

Request
<?xml version='1.0' encoding='UTF-8' standalone='no'?>
<OPS_envelope>
<header>
<version>0.9</version>
</header>
<body>
<data_block>
<dt_assoc>
<item key="protocol">XCP</item>
<item key="action">create</item>
<item key="object">nameserver</item>
<item key="attributes">
<dt_assoc>
<item key="ipaddress">212.112.123.11</item>
<item key="name">ns5.example.com</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>

803

</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">NAMESERVER</item>
<item key="is_success">1</item>
<item key="response_text">Nameserver Created</item>
<item key="response_code">200</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

Example 4
This example creates an IPv6 nameserver without adding to any foreign
registries.

Request
<?xml version='1.0' encoding='UTF-8' standalone='no' ?>
<!DOCTYPE OPS_envelope SYSTEM 'ops.dtd'>
<OPS_envelope>
<header>
<version>0.9</version>
</header>

804

<body>
<data_block>
<dt_assoc>
<item key="protocol">XCP</item>
<item key="action">create</item>
<item key="object">nameserver</item>
<item key="cookie">366828736:3210384</item>
<item key="attributes">
<dt_assoc>
<item key="name">ns1.example.com</item>
<item key="ipv6">2a00:1450:4008:c00:0:0:0:1</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">nameserver</item>
<item key="response_text">Nameserver Created</item>
<item key="is_success">1</item>
<item key="response_code">200</item>
</dt_assoc>

805

</data_block>
</body>
</OPS_envelope>

806

delete (nameserver)
Description
Action & object
action = delete
object = nameserver

Usage
Deletes a nameserver, provided it is not currently serving a domain.
Note: If the registry in which the nameserver object resides is serving a
domain outside of OpenSRS, delete nameserver returns an error and the
nameserver is not deleted.

Request parameters for delete (nameserver)


Standard parameters
action = delete
object = nameserver
registrant_ip = valid IP address of the registrant (optional)
cookie = cookie created to access OpenSRS, see "set(cookie)"
attributes

Attributes
Parameters within the attributes associative array are described below.
Parameter
name

Obligation

Definition/Value

domain

Required if
cookie is not
submitted

The relevant domain.

ipaddress

Required if
ipv6 is not
submitted

The IPv4 address of the nameserver.

ipv6

You can specify ipaddress or ipv6, or both.


Note: This parameter is always required for .DE,
even if ipv6 is submitted.

Required if
The IPv6 address of the nameserver.
ipaddress is You can specify ipaddress or ipv6, or both.
not submitted
Note: This parameter is not supported for .CN.

807

Parameter
name

Obligation

Definition/Value

name

Required

Fully qualified race-encoded domain name of the


nameserver.

Response parameters for delete (nameserver)


Standard parameters
action = reply
object = nameserver
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

Examples for delete (nameserver)


Example 1
This example deletes an IPv4 nameserver.

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">delete</item>
<item key="object">nameserver</item>
<item key="registrant_ip">216.40.46.115</item>
<item key="cookie">435686610:3185178</item>
<item key="attributes">
<dt_assoc>

808

<item key="ipaddress">24.22.112.11</item>
<item key="name">ns1.example.com</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">nameserver</item>
<item key="response_text">Nameserver deleted</item>
<item key="is_success">1</item>
<item key="response_code">200</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

Example 2
This example deletes an IPv6 nameserver.

Request
<?xml version='1.0' encoding='UTF-8' standalone='no' ?>

809

<!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">delete</item>
<item key="object">nameserver</item>
<item key="registrant_ip">216.40.46.115</item>
<item key="cookie">435686610:3185178</item>
<item key="attributes">
<dt_assoc>
<item key="ipv6">2a00:1450:4008:c00:0:0:0:1</item>
<item key="name">ns3.example.com</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>

810

<item key="action">reply</item>
<item key="object">nameserver</item>
<item key="response_text">Nameserver deleted</item>
<item key="is_success">1</item>
<item key="response_code">200</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

811

get (nameserver)
Description
Action & object
action = get
object = nameserver

Usage
Queries nameservers that exist in the current user profile (current cookie).
These nameservers may or may not be currently assigned to a domain.
To see a list of nameservers serving the cookie's domain, use the command
get domain nameservers.

Request parameters for get (nameserver)


Standard parameters
action = get
object = nameserver
registrant_ip = valid IP address of the registrant
cookie = cookie created to access OpenSRS, see "set(cookie)"
attributes

Attributes
Parameters within the attributes associative array are described below.
Parameter name Obligation

Definition/Value

domain

Required if cookie is
not submitted

The relevant domain.

name

Required

Specify all.

Response parameters for get (nameserver)


Standard parameters
action = reply
object = nameserver
is_success = a Boolean is returned, indicating success or failure of the

request

response_code = response code indicating outcome of the request

812

response_text = message describing the outcome of the request


attributes

Attributes
If the request is successful, the attributes associative array may include the
following:
Parameter
name

Obligation

Definition/Value

nameserver_list

Returned if
A list (array) of nameservers, each of which can
is_success = contain any of the attributes listed in the
true
Nameserver_List table below.

Nameserver_List
Parameters within the nameserver_list associative array are described below.
Parameter
name

Obligation

Definition/Value

can_delete

Always
returned

A flag indicating whether the nameserver is currently


serving a domain in OpenSRS. To delete a
nameserver with can_delete set to zero, it must
first be un-assigned from the domain it serves.
Note: If the registry in which the nameserver object
resides is serving a domain outside of OpenSRS, a
delete_nameserver action returns an error, and the
nameserver is not deleted.

0Nameserver can be deleted.

1Nameserver cannot be deleted.

ipaddress

Returned if the The IPv4 address of the nameserver.


nameserver
Note: This parameter is always required for .DE,
has an Ipv4
even if ipv6 is submitted.
address

ipv6

Returned if the The IPv6 address of the nameserver.


nameserver
Note: This parameter is not supported for .CN.
has an Ipv6
address

name

Always
returned

The fully qualified domain name of the nameserver.

813

Deprecated
Parameter
name

Obligation

Definition/Value

encoding_type

Deprecated

The encoding type of the nameserver.

Examples for get (nameserver)


Example 1
This example returns information about an IPv4 nameserver.

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">get</item>
<item key="object">nameserver</item>
<item key="cookie">121321321:12341242424</item>
<item key="registrant_ip">111.121.121.121</item>
<item key="attributes">
<dt_assoc>
<item key="name">all</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

814

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">nameserver</item>
<item key="response_code">200</item>
<item key="response_text">Query Successful</item>
<item key="is_success">1</item>
<item key="attributes">
<dt_assoc>
<item key="nameserver_list">
<dt_array>
<item key="0">
<dt_assoc>
<item key="name">ns1.systemdns.com</item>
<item key="can_delete">1</item>
<item
key="ipaddress">191.11.121.111</item>
</dt_assoc>
</item>
<item key="1">
<dt_assoc>
<item key="name">ns2.systemdns.com</item>
<item key="can_delete">0</item>
<item
key="ipaddress">11.111.121.111</item>
</dt_assoc>
</item>

815

</dt_array>
</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

Example 2
This example returns information about an IPv6 nameserver.

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">get</item>
<item key="object">nameserver</item>
<item key="cookie">121321321:12341242424</item>
<item key="registrant_ip">111.121.121.121</item>
<item key="attributes">
<dt_assoc>
<item key="name">all</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>

816

</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">nameserver</item>
<item key="response_code">200</item>
<item key="response_text">Query Successful</item>
<item key="is_success">1</item>
<item key="attributes">
<dt_assoc>
<item key="nameserver_list">
<dt_array>
<item key="0">
<dt_assoc>
<item key="name">ns3.systemdns.com</item>
<item key="can_delete">1</item>
<item
key="ipv6">2a00:1450:4008:c00:0:0:0:1</item>
</dt_assoc>
</item>
<item key="1">
<dt_assoc>
<item key="name">ns4.systemdns.com</item>
<item key="can_delete">0</item>
<item
key="ipv6">2001:0db8:85a3:0000:0000:8a2e:0370:7334</item>

817

</dt_assoc>
</item>
</dt_array>
</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

818

modify (nameserver)
Description
Action & object
action = modify
object = nameserver

Usage
Modifies a nameserver. This command is not supported for .TEL domains.
Important: This command will overwrite the existing nameserver entries. If
a nameserver has two IPs, one for IPv4 and one for IPv6, and you specify
only one of these in the request, the other one will be removed from the
registry.

Request parameters for modify (nameserver)


Standard parameters
action = modify
object = nameserver
registrant_ip = valid IP address of the registrant (optional)
cookie = cookie created to access OpenSRS, see "set(cookie)"
attributes

Attributes
Parameters within the attributes associative array are described below.
Parameter
name

Obligation

Definition/Value

domain

Required if cookie is not The relevant domain.


submitted

ipaddress

Required if ipv6 is not


submitted

The IPv4 address of the nameserver.


You can specify ipaddress or ipv6, or
both.
Note: This parameter is always required
for .DE, even if ipv6 is submitted.

ipv6

Required if ipaddress is The IPv6 address of the nameserver.


not submitted
You can specify ipaddress or ipv6, or
both.
Note: This parameter is not supported

819

Parameter
name

Obligation

Definition/Value
for .CN.

name

Required

Fully qualified domain name of the


nameserver. The name key must always
be present, and must be race-encoded.

new_name

Optional. This field is


only required if you are
changing the name.

The new, fully qualified domain name for


the nameserver

Deprecated
Parameter name

Obligation

Definition/Value

new_encoding_type

Deprecated

The new encoding type of the nameserver.

Response parameters for modify (nameserver)


Standard parameters
action = reply
object = nameserver
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

Examples for modify (nameserver)


Example 1
This example changes the name of an IPv4 nameserver.

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>

820

<data_block>
<dt_assoc>
<item key="protocol">XCP</item>
<item key="action">modify</item>
<item key="object">nameserver</item>
<item key="cookie">892036263:3210384</item>
<item key="attributes">
<dt_assoc>
<item key="name">ns1.example.com</item>
<item key="new_name">ns.boo.example.com</item>
<item key="ipaddress">212.112.123.11</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">nameserver</item>
<item key="response_text">Command successful</item>
<item key="is_success">1</item>
<item key="response_code">200</item>
</dt_assoc>
</data_block>
</body>

821

</OPS_envelope>

Example 2
This example changes the name of an IPv6 nameserver.

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">modify</item>
<item key="object">nameserver</item>
<item key="cookie">892036263:3210384</item>
<item key="attributes">
<dt_assoc>
<item key="name">ns1.example.com</item>
<item key="new_name">ns.test.example.com</item>
<item key="ipv6">2a00:1450:4008:c00:0:0:0:1</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>

822

<version>0.9</version>
</header>
<body>
<data_block>
<dt_assoc>
<item key="protocol">XCP</item>
<item key="action">reply</item>
<item key="object">nameserver</item>
<item key="response_text">Command successful</item>
<item key="is_success">1</item>
<item key="response_code">200</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

823

registry_add_ns
Description
Action & object
action = registry_add_ns
object = nameserver

Usage
Adds a nameserver to one or all registries to which a Reseller has access.
This command does not create a nameserver; a nameserver must already be
created (see "create(nameserver)").

Request parameters for registry_add_ns


Standard parameters
action = registry_add_ns
object = nameserver
attributes

Attributes
Parameters within the attributes associative array are described below.
Parameter
name

Obligation

Definition/Value

all

Required

Specifies whether to add the nameserver to all


registries or to only COM and NET:

0Add to the registry specified in the tld


Parameter
1Add to all registries enabled for your
account

fqdn

Required

The nameserver to be added, which must be a fully


qualified domain name.

tld

Required

The registry to which you want to add the


nameservers.
Allowed values: any tld available through OpenSRS,
for example, .com.
Note: If the all value = 1, the tld value is ignored;
however, it must be present and the value must be a
valid tld; otherwise, the command will fail.

824

Response parameters for registry_add_ns


Standard parameters
action = reply
object = nameserver
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

Attributes
If the request is successful, the attributes associative array may include the
following:
Parameter
name

Obligation

Definition/Value

registry_name

Returned if
Registry Names:
is_success = true

NSI

DENIC

NeuLevel

TV

NSI .cc

CIRA

ISOC/PIR

UK

VC

dotName

NeuStar

Afilias

Note: Only the registries to which the


Reseller is subscribed are returned.

The following success/failure messages may be returned:

'Successfully added.'
'Couldn't add nameserver: Registry doesn't support nameserver as a
separate object.'
'Couldn't add nameserver: Our system is experiencing technical
difficulties; please try again later. If problem persists, please contact
support and state error message: REM server: -702, no RAs to service the
domain 'example.cc'.
825

Examples for registry_add_ns


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">registry_add_ns</item>
<item key="object">nameserver</item>
<item key="attributes">
<dt_assoc>
<item key="fqdn">n99.example.aero</item>
<item key="tld">.com</item>
<item key="all">0</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

Response
For "all" = "1"
<?xml version='1.0' encoding='UTF-8' standalone='no'?>
<!DOCTYPE OPS_envelope SYSTEM 'ops.dtd'>
<OPS_envelope>
<header>

826

<version>0.9</version>
</header>
<body>
<data_block>
<dt_assoc>
<item key='protocol'>XCP</item>
<item key='action'>reply</item>
<item key='object'>nameserver</item>
<item key='attributes'>
<dt_assoc>
<item key='DENIC'>Successfully added</item>
<item key='VC'>Couldn't add nameserver: Unexpected response
from registry: 705: No RAs to service your domain.
</item>
<item key='TV'>Couldn't add nameserver: Registry doesn't
support nameserver as a separate object.
</item>
<item key='Neulevel'>Successfully added</item>
<item key='CIRA'>Couldn't add nameserver: Registry doesn't
support nameserver as a separate object.
</item>
<item key='ISOC/PIR'>Successfully added</item>
<item key='GNR'>Successfully added</item>
<item key='UK'>Couldn't add nameserver: Registry doesn't
support nameserver as a separate object.
</item>
<item key='NSI_CC'>Successfully added</item>
<item key='Neustar'>Successfully added</item>
<item key='Afilias'>Successfully added</item>
</dt_assoc>
</item>
<item key='response_text'>Command verified</item>
<item key='is_success'>1</item>
<item key='response_code'>200</item>
</dt_assoc>
</data_block>
</body>

827

</OPS_envelope>

For "all" = "0"


<?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'>nameserver</item>
<item key='response_text'>Command verified</item>
<item key='is_success'>1</item>
<item key='response_code'>200</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

828

registry_check_nameserver
Description
Action & object
action = registry_check_nameserver
object = nameserver

Usage
Verifies whether a nameserver exists at a particular registry.
Note: This command is not required for registries that do not have a
nameserver object, that is, .CA, .UK, .DE, .FR, and CH.

Request parameters for registry_check_nameserver


Standard parameters
action = registry_check_nameserver
object = nameserver
attributes

Attributes
Parameters within the attributes associative array are described below.
Parameter
name

Obligation

Definition/Value

fqdn

Required

The Fully Qualified Domain Name of the nameserver


that you want to check.

tld

Required

The Top Level Domain of the nameserver that you


want to check. If no tld is supplied, the tld is
extracted from the nameserver.

829

Response parameters for


registry_check_nameserver
Standard parameters
action = reply
object = nameserver
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

status

Indicates whether the nameserver exists at


Returned if
is_success = true the registry.

Examples for registry_check_nameserver


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">REGISTRY_CHECK_NAMESERVER</item>
<item key="object">NAMESERVER</item>
<item key="attributes">

830

<dt_assoc>
<item key="tld">.com</item>
<item key="fqdn">ns1.livedns.co.uk</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

Response
Nameserver found
<?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_array>
<item key="0">
<dt_assoc>
<item key="protocol">XCP</item>
<item key="action">REPLY</item>
<item key="object">NAMESERVER</item>
<item key="is_success">1</item>
<item key="response_code">200</item>
<item key="response_text">Command successful</item>
</dt_assoc>
</item>
</dt_array>
</data_block>
</body>
</OPS_envelope>

831

Nameserver not found


<?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">NAMESERVER</item>
<item key="response_text">Command successful</item>
<item key="action">REPLY</item>
<item key="attributes">
<dt_assoc>
<item key="status">
<dt_assoc>
<item key="protocol">RAP</item>
<item key="_response_text">Authorization error</item>
<item key="_response_code">531</item>
<item key="attributes">
<dt_assoc>
<item key="trans_id">
<dt_assoc>
<item key="client_trid">216.40.33.601240404268810</item>
<item key="server_trid">4370771281240404268830</item>
</dt_assoc>
</item>
</dt_assoc>
</item>
<item key="registry_response_code">2201</item>
<item key="is_success">0</item>
</dt_assoc>

832

</item>
</dt_assoc>
</item>
<item key="response_code">200</item>
<item key="is_success">1</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

Nameserver not found (registered nameserver not required by


registry)
<?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_array>
<item key="0">
<dt_assoc>
<item key="protocol">XCP</item>
<item key="action">REPLY</item>
<item key="object">NAMESERVER</item>
<item key="is_success">0</item>
<item key="response_code">400</item>
<item key="response_text">Registry doesn't support
nameserver as a separate entity.</item>
</dt_assoc>
</item>
</dt_array>
</data_block>
</body>
</OPS_envelope>

833

DNS Zone Commands


This section contains the following commands:
create_dns_zoneEnables the DNS service for a domain.
delete_dns_zoneDeletes the DNS zones defined for the specified
domain.

force_dns_nameserversChanges the nameservers on your


domain to use the DNS nameservers.

get_dns_zoneAlows you to view the DNS records for a specified


domain.

reset_dns_zoneSets the DNS zone to the values in the specified


template.
set_dns_zoneSets the records for a domain's DNS zone.

834

create_dns_zone
Description
Action & object
action = create_dns_zone
object = domain

Usage
Enables the DNS service for a domain. If you have created a DNS template,
you can specify the template in the command to assign initial DNS records.
The template is then associated with the domain, so if you later issue the
reset_dns_zone command, the records are set back to what is defined in the
template.
If you specify *blank* instead of a DNS template when you issue this
command, you can submit the values for the DNS records in this command
or you can use the set_dns_zone command to define the DNS records.
For information on creating a DNS zone template, see Managing DNS Zone
Information in the Resellers Guide to Domain Name Registration and
Management.

Request parameters for create_dns_zone


Standard parameters
action = create_dns_zone
object = domain
attributes

Attributes
Parameters within the attributes associative array are described below.
Parameter
name

Obligation

Definition/Value

domain

Required

The domain for which you want to define DNS


records.

dns_template

Optional

Specify the name of the DNS template that you want


to use to enable DNS and assign initial DNS records.
If you do not submit this parameter, DNS is enabled
but no records are defined. In this case, you can
submit the settings for the domain's DNS zone
records (A, AAAA, CNAME, SRV, and TXT).

835

Parameter
name

Obligation

Definition/Value

records

Required

A list of the record types defined for the domain;


each record includes the settings for that record.
Record types may be
A
AAAA
CNAME
MX
SRV
TXT

Records
Parameters within the records associative array are described below.
Parameter
name

Obligation

Definition/Value

Optional

Maps the domain name to the IP address.


The A record consists of the following:

AAAA

Optional

ip_addressInternet Protocol Address. A


numeric address that computers recognize, for
example,
123.45.54.123.
subdomainThe third level of the domain
name, such as www or ftp.

Maps the domain name to the IPv6 address.


The AAAA record consists of the following:

CNAME

Optional

ipv6_address The next generation


Internet Protocol designed as the successor
to version 4. It is normally written as eight
groups of four hexadecimal digits (i.e.
2003:0db8:
85a3:0000:0000:8a2e:
0370:7334
subdomainThe third level of the domain
name, such as www or ftp.

Canonical Name. CNAME records can be used when


you want a subdomain to point to another hostname.
Allows you to create an alias for your domain.
The CNAME record consists of the following:

hostnameThe

836

Parameter
name

Obligation

Definition/Value
FQDN of the domain that you want to access.
subdomainThe third level of the domain
name, such as www or ftp.

MX

Optional

Mail Exchange. MX records determine how mail is


delivered to your domain. Ensures that email that is
sent to you is routed to the correct destination.
The MX record consists of the following:
priorityThe priority of the target host, lower
value means more preferred.
subdomainThe third level of the domain
name, such as www or ftp.
hostnameThe FQDN of the domain that you
want to access.

SRV

Optional

Service Record.
The SRV record consists of the following:
priorityThe priority of the target host, lower
value means more preferred.
weightA relative weight for records with the
same priority.
subdomainThe third level of the domain
name, such as www or ftp.
hostnameThe FQDN of the domain that you
want to access.
portThe TCP or UDP port on which the
service is to be found.

Response parameters for create_dns_zone


Standard parameters
action = reply
object = domain
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

837

Attributes
If the request is successful, the attributes associative array may include the
following:
Parameter
name

Obligation

Definition/Value

nameservers_ok

Returned if
Indicates whether the domain is set up to use the
is_success = OpenSRS nameservers.
0Nameservers are not set to the DNS
true
service nameservers
1Nameservers are set to the DNS service
nameservers

records

Returned if
A list of the record types defined for the domain;
is_success = each record includes the settings for that record.
true
Record types may be
A
AAAA
CNAME
MX
SRV
TXT
For more information, see the Records table
below.

Records
Parameters within the records associative array are described below.
Parameter
name

Obligation

Definition/Value

Optional

Maps the domain name to the IP address.


The A record consists of the following:

ip_address Internet Protocol Address. A


numeric address that computers recognize, for
example, 123.45.54.123.
subdomainThe third level of the domain
name, such as www or ftp.

838

Parameter
name

Obligation

Definition/Value

AAAA

Optional

Maps the domain name to the IPv6 address.


The AAAA record consists of the following:

CNAME

Optional

subdomainThe third level of the domain


name, such as www or ftp.
ipv6_address The next generation
Internet Protocol designed as the successor
to version 4. It is normally written as eight
groups of four hexadecimal digits (i.e.
2003:0db8:
85a3:0000:0000:8a2e:
0370:7334

Canonical Name. CNAME records can be used when


you want a subdomain to point to another hostname.
Allows you to create an alias for your domain.
The CNAME record consists of the following:
hostnameThe FQDN of the domain that you
want to access.
subdomainThe third level of the domain
name, such as www or ftp.

MX

Optional

Mail Exchange. MX records determine how mail is


delivered to your domain. Ensures that email that is
sent to you is routed to the correct destination.
The MX record consists of the following:

priorityThe priority of the target host, lower


value means more preferred.
subdomainThe third level of the domain
name, such as www or ftp.
hostnameThe FQDN of the domain that you
want to access.

839

Parameter
name

Obligation

Definition/Value

SRV

Optional

Service Record.
The SRV record consists of the following:
priorityThe priority of the target host, lower
value means more preferred.
weightA relative weight for records with the
same priority.
subdomainThe third level of the domain
name, such as www or ftp. hostnameThe
FQDN of the domain that you want to access.
portThe TCP or UDP port on which the
service is to be found.

TXT

Optional

Text Record. Allows you to attach comments to a


hostname, for example, SPF data to validate that
email is being sent from the IP address of the
domain's mail server.
The TXT record consists of the following:
subdomainThe third level of the domain
name, such as www or ftp.
textThe comments that you want to include.

Examples for create_dns_zone


Request
If template is specified
<?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>

840

<item key="protocol">XCP</item>
<item key="action">create_dns_zone</item>
<item key="object">domain</item>
<item key="attributes">
<dt_assoc>
<item key="domain">example.com</item>
<item key="dns_template">business_domains</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

If template is not specified


<?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">create_dns_zone</item>
<item key="object">domain</item>
<item key="attributes">
<dt_assoc>
<item key="domain">example.com</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

841

Response
If template is specified
<?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">DOMAIN</item>
<item key="is_success">1</item>
<item key="response_text">Command Successful</item>
<item key="response_code">200</item>
<item key="attributes">
<dt_assoc>
<item key="records">
<dt_assoc>
<item key="A">
<dt_array>
<item key="0">
<dt_assoc>
<item key="subdomain"></item>
<item key="ip_address">17.16.156.5</item>
</dt_assoc>
</item>
</dt_array>
</item>
<item key="MX">
<dt_array>
<item key="0">

842

<dt_assoc>
<item key="priority">10</item>
<item key="subdomain">www</item>
<item key="hostname">example.org</item>
</dt_assoc>
</item>
<item key="1">
<dt_assoc>
<item key="priority">1</item>
<item key="subdomain"></item>
<item
key="hostname">mx.cust.aug18dnstest1.com.hostedemail.com</item>
</dt_assoc>
</item>
</dt_array>
</item>
<item key="SRV">
<dt_array>
<item key="0">
<dt_assoc>
<item key="priority">1</item>
<item key="weight">3</item>
<item key="subdomain">w3</item>
<item key="hostname">yummynames.com</item>
<item key="port">81</item>
</dt_assoc>
</item>
</dt_array>
</item>
</dt_assoc>
</item>
<item key="nameservers_ok">0</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>

843

</body>
</OPS_envelope>

If template is not specified


<?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">DOMAIN</item>
<item key="is_success">1</item>
<item key="response_text">Command Successful</item>
<item key="response_code">200</item>
<item key="attributes">
<dt_assoc>
<item key="records">
<dt_assoc>
</dt_assoc>
</item>
<item key="nameservers_ok">0</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

844

delete_dns_zone
Description
Action & object
action = delete_dns_zone
object = domain

Usage
Deletes the DNS zones defined for the specified domain.

Request parameters for delete_dns_zone


Standard parameters
action = delete_dns_zone
object = domain
attributes

Attributes
Parameters within the attributes associative array are described below.
Parameter name Obligation

Definition/Value

domain

The domain whose DNS you want to delete.

Required

Response parameters for delete_dns_zone


Standard parameters
action = reply
object = domain
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

845

Examples for delete_dns_zone


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">delete_dns_zone</item>
<item key="object">domain</item>
<item key="attributes">
<dt_assoc>
<item key="domain">example.com</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>

846

<item key="protocol">XCP</item>
<item key="action">REPLY</item>
<item key="object">DOMAIN</item>
<item key="response_text">Command Successful</item>
<item key="response_code">200</item>
<item key="is_success">1</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

847

force_dns_nameservers
Description
Action & object
action = force_dns_nameservers
object = domain

Usage
Changes the nameservers on your domain to use the DNS nameservers:
ns1.systemdns.com, ns2.systemdns.com, and ns3.systemdns.com.

Request parameters for force_dns_nameservers


Standard parameters
action = force_dns_nameservers
object = domain
attributes

Attributes
Parameters within the attributes associative array are described below.
Parameter
name

Obligation

Definition/Value

domain

Required

The domain whose nameservers you want to change


to the DNS nameservers ns1.systemdns.com,
ns2.systemdns.com, and ns3.systemdns.com.

Response parameters for force_dns_nameservers


Standard parameters
action = reply
object = domain
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

848

Examples for force_dns_nameservers


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="object">DOMAIN</item>
<item key="action">FORCE_DNS_NAMESERVERS</item>
<item key="attributes">
<dt_assoc>
<item key="domain">example.com</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>

849

<item key="protocol">XCP</item>
<item key="object">DOMAIN</item>
<item key="response_text">Command Successful</item>
<item key="action">REPLY</item>
<item key="response_code">200</item>
<item key="is_success">1</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

850

get_dns_zone
Description
Action & object
action = get_dns_zone
object = domain

Usage
View the DNS records for a specified domain.

Request parameters for get_dns_zone


Standard parameters
action = get_dns_zone
object = domain
attributes

Attributes
Parameters within the attributes associative array are described below.
Parameter name Obligation

Definition/Value

domain

The domain whose DNS you want to view.

Required

Response parameters for get_dns_zone


Standard parameters
action = reply
object = domain
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

851

Attributes
If the request is successful, the attributes associative array may include the
following:
Parameter
name

Obligation

Definition/Value

nameservers_ok

Returned if
Indicates whether the domain is set up to use the
is_success = OpenSRS nameservers.
0Nameservers are not set to the DNS
true
service nameservers
1Nameservers are set to the DNS service
nameservers

records

Returned if
A list of the record types defined for the domain;
is_success = each record includes the settings for that record.
true
Record types may be
A
AAAA
CNAME
MX
SRV
TXT
For more information, see the Records table
below.

Records
Parameters within the records associative array are described below.
Parameter
name

Obligation

Definition/Value

Optional

Maps the domain name to the IP address.


The A record consists of the following:

AAAA

Optional

ip_addressInternet Protocol Address. A


numeric address that computers recognize, for
example, 123.45.54.123.
subdomainThe third level of the domain
name, such as www or ftp.

Maps the domain name to the IPv6 address.


The AAAA record consists of the following:

852

Parameter
name

Obligation

Definition/Value

CNAME

Optional

subdomainThe third level of the domain


name, such as www or ftp.
ipv6_addressThe next generation Internet
Protocol designed as the successor to version
4. It is normally written as eight groups of four
hexadecimal digits (i.e. 2003:0db8:
85a3:0000:0000:8a2e: 0370:7334

Canonical Name. CNAME records can be used when


you want a subdomain to point to another hostname.
Allows you to create an alias for your domain.
The CNAME record consists of the following:
hostnameThe FQDN of the domain that you
want to access.
subdomainThe third level of the domain
name, such as www or ftp.

MX

Optional

Mail Exchange. MX records determine how mail is


delivered to your domain. Ensures that email that is
sent to you is routed to the correct destination.
The MX record consists of the following:
priorityThe priority of the target host, lower
value means more preferred.
subdomainThe third level of the domain
name, such as www or ftp.
hostnameThe FQDN of the domain that you
want to access.

853

Parameter
name

Obligation

Definition/Value

SRV

Optional

Service Record.
The SRV record consists of the following:
priorityThe priority of the target host, lower
value means more preferred.
weightA relative weight for records with the
same priority.
subdomainThe third level of the domain
name, such as www or ftp.
hostnameThe FQDN of the domain that you
want to access.
portThe TCP or UDP port on which the
service is to be found.

TXT

Optional

Text Record. Allows you to attach comments to a


hostname, for example, SPF data to validate that
email is being sent from the IP address of the
domain's mail server.
The TXT record consists of the following:
subdomainThe third level of the domain
name, such as www or ftp.
textThe comments that you want to include.

Examples for get_dns_zone


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>

854

<item key="action">get_dns_zone</item>
<item key="object">domain</item>
<item key="attributes">
<dt_assoc>
<item key="domain">example.com</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">DOMAIN</item>
<item key="is_success">1</item>
<item key="response_code">200</item>
<item key="response_text">Command Successful</item>
<item key="attributes">
<dt_assoc>
<item key="records">
<dt_assoc>
<item key="A">
<dt_array>
<item key="0">

855

<dt_assoc>
<item key="subdomain"></item>
<item key="ip_address">17.16.156.5</item>
</dt_assoc>
</item>
</dt_array>
</item>
<item key="MX">
<dt_array>
<item key="0">
<dt_assoc>
<item key="priority">10</item>
<item key="subdomain">www</item>
<item key="hostname">example.org</item>
</dt_assoc>
</item>
<item key="1">
<dt_assoc>
<item key="priority">1</item>
<item key="subdomain"></item>
<item
key="hostname">mx.cust.aug17dnstest1.com.hostedemail.com</item>
</dt_assoc>
</item>
</dt_array>
</item>
<item key="SRV">
<dt_array>
<item key="0">
<dt_assoc>
<item key="priority">1</item>
<item key="weight">3</item>
<item key="subdomain">w3</item>
<item key="hostname">yummynames.com</item>
<item key="port">81</item>
</dt_assoc>

856

</item>
</dt_array>
</item>
</dt_assoc>
</item>
<item key="nameservers_ok">0</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>r

eset_dns_zone

Description
Action & object
action = reset_dns_zone
object = domain

Usage
Sets the DNS zone to the values in the specified template. If a template is
not specified in the command, the records are set to what was in the
template that was used to enable the DNS service.

Request parameters for reset_dns_zone


Standard parameters
action = reset_dns_zone
object = domain
attributes

Attributes
Parameters within the attributes associative array are described below.
Parameter
name

Obligation

Definition/Value

857

dns_template

Optional

The name of the DNS template that you want to


use

domain

Required

The domain whose DNS you want to reset.

Response parameters for reset_dns_zone


Standard parameters
action = reply
object =
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

858

Attributes
If the request is successful, the attributes associative array may include the
following:
Parameter
name

Obligation

Definition/Value

nameservers_ok

Returned if
Indicates whether the domain is set up to use the
is_success = OpenSRS nameservers.
0Nameservers are not set to the DNS
true
service nameservers
1Nameservers are set to the DNS service
nameservers

records

Returned if
A list of the record types defined for the domain;
is_success = each record includes the settings for that record.
true
Record types may be

A
AAAA
CNAME
MX
SRV
TXT

Records
Parameters within the records associative array are described below.
Parameter
name

Obligation Definition/Value

Optional

Maps the domain name to the IP address.


The A record consists of the following:

AAAA

Optional

ip_addressInternet Protocol Address. A


numeric address that computers recognize, for
example, 123.45.54.123.
subdomainThe third level of the domain
name, such as www or ftp.

Maps the domain name to the IPv6 address.


The AAAA record consists of the following:

subdomainThe third level of the domain


name, such as www or ftp.
ipv6_addressThe

859

Parameter
name

Obligation Definition/Value
next generation Internet Protocol designed as the
successor to version 4. It is normally written as
eight groups of four hexadecimal digits (i.e.
2003:0db8:
85a3:0000:0000:8a2e:
0370:7334

CNAME

Optional

Canonical Name. CNAME records can be used when


you want a subdomain to point to another hostname.
Allows you to create an alias for your domain.
The CNAME record consists of the following:
hostnameThe FQDN of the domain that you
want to access.
subdomainThe third level of the domain
name, such as www or ftp.

MX

Optional

Mail Exchange. MX records determine how mail is


delivered to your domain. Ensures that email that is
sent to you is routed to the correct destination.
The MX record consists of the following:
priorityThe priority of the target host, lower
value means more preferred.
subdomainThe third level of the domain
name, such as www or ftp.
hostnameThe FQDN of the domain that you
want to access.

SRV

Optional

Service Record.
The SRV record consists of the following:
priorityThe priority of the target host, lower
value means more preferred.
weightA relative weight for records with the
same priority.
subdomainThe third level of the domain
name, such as www or ftp.
hostnameThe FQDN of the domain that you
want to access.
portThe TCP or UDP port on which the service
is to be found.

TXT

Optional

Text Record. Allows you to attach comments to a


hostname, for example, SPF data to validate that

860

Parameter
name

Obligation Definition/Value
email is being sent from the IP address of the
domain's mail server.
The TXT record consists of the following:
subdomainThe third level of the domain
name, such as www or ftp.
textThe comments that you want to include.

Examples for reset_dns_zone


Request
If template is specified
<?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">reset_dns_zone</item>
<item key="object">domain</item>
<item key="attributes">
<dt_assoc>
<item key="domain">example.com</item>
<item key="dns_template">business_domains</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>

861

</OPS_envelope>

If template is not specified


<?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">reset_dns_zone</item>
<item key="object">domain</item>
<item key="attributes">
<dt_assoc>
<item key="domain">example.com</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

Response
If template is specified
<?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>

862

<dt_assoc>
<item key="protocol">XCP</item>
<item key="action">REPLY</item>
<item key="object">DOMAIN</item>
<item key="is_success">1</item>
<item key="response_code">200</item>
<item key="response_text">Command Successful</item>
<item key="attributes">
<dt_assoc>
<item key="records">
<dt_assoc>
<item key="A">
<dt_array>
<item key="0">
<dt_assoc>
<item key="subdomain"></item>
<item key="ip_address">17.16.156.5</item>
</dt_assoc>
</item>
</dt_array>
</item>
<item key="MX">
<dt_array>
<item key="0">
<dt_assoc>
<item key="priority">10</item>
<item key="subdomain">www</item>
<item key="hostname">example.com</item>
</dt_assoc>
</item>
<item key="1">
<dt_assoc>
<item key="priority">1</item>
<item key="subdomain"></item>
<item
key="hostname">mx.cust.aug18dnstest1.com.hostedemail.com</item>

863

</dt_assoc>
</item>
</dt_array>
</item>
<item key="SRV">
<dt_array>
<item key="0">
<dt_assoc>
<item key="priority">1</item>
<item key="weight">3</item>
<item key="subdomain">w3</item>
<item key="hostname">yummynames.com</item>
<item key="port">81</item>
</dt_assoc>
</item>
</dt_array>
</item>
</dt_assoc>
</item>
<item key="nameservers_ok">0</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

If template is not specified


<?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>

864

<dt_assoc>
<item key="protocol">XCP</item>
<item key="action">REPLY</item>
<item key="object">DOMAIN</item>
<item key="is_success">1</item>
<item key="response_code">200</item>
<item key="response_text">Command Successful</item>
<item key="attributes">
<dt_assoc>
<item key="nameservers_ok">0</item>
<item key="records">
<dt_assoc>
<item key="A">
<dt_array>
<item key="0">
<dt_assoc>
<item key="subdomain"></item>
<item key="ip_address">17.16.156.5</item>
</dt_assoc>
</item>
</dt_array>
</item>
<item key="MX">
<dt_array>
<item key="0">
<dt_assoc>
<item key="priority">10</item>
<item key="subdomain">www</item>
<item key="hostname">example.org</item>
</dt_assoc>
</item>
<item key="1">
<dt_assoc>
<item key="priority">1</item>
<item key="subdomain"></item>

865

<item
key="hostname">mx.cust.aug18dnstest1.com.hostedemail.com</item>
</dt_assoc>
</item>
</dt_array>
</item>
<item key="SRV">
<dt_array>
<item key="0">
<dt_assoc>
<item key="priority">1</item>
<item key="weight">3</item>
<item key="subdomain">w3</item>
<item key="hostname">yummynames.com</item>
<item key="port">81</item>
</dt_assoc>
</item>
</dt_array>
</item>
</dt_assoc>
</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

866

set_dns_zone
Description
Action & object
action = set_dns_zone
object = domain

Usage
Set the records for a domain's DNS zone.

Request parameters for set_dns_zone


Standard parameters
action = set_dns_zone
object = domain
attributes

Attributes
Parameters within the attributes associative array are described below.
Parameter
name

Obligation

Definition/Value

domain

Required

The domain whose DNS you want to set.

records

Required

A list of the record types defined for the domain;


each record includes the settings for that record.
Record types may be
A
AAAA
CNAME
MX
SRV
TXT
For more information, see the Records table
below.

867

Records
Parameters within the records associative array are described below.
Parameter
name

Obligation

Definition/Value

Optional

Maps the domain name to the IP address.


The A record consists of the following:

AAAA

Optional

ip_addressInternet Protocol Address. A


numeric address that computers recognize,
for example, 123.45.54.123.
subdomain The third level of the
domain name, such as www or ftp.

Maps the domain name to the IPv6 address.


The AAAA record consists of the following:

CNAME

Optional

ipv6_addressThe next generation


Internet Protocol designed as the successor
to version 4. It is normally written as eight
groups of four hexadecimal digits (i.e.
2003:0db8: 85a3:0000:0000:8a2e:
0370:7334
subdomainThe third level of the domain
name, such as www or ftp.

Canonical Name. CNAME records can be used


when you want a subdomain to point to another
hostname. Allows you to create an alias for your
domain.
The CNAME record consists of the following:
hostnameThe FQDN of the domain that
you want to access.
subdomainThe third level of the domain
name, such as www or ftp.

MX

Optional

Mail Exchange. MX records determine how mail is


delivered to your domain. Ensures that email that
is sent to you is routed to the correct destination.
The MX record consists of the following:
priorityThe priority of the target host,
lower value means more preferred.
subdomainThe third level of the domain
name, such as www or ftp.

868

Parameter
name

Obligation

Definition/Value

hostnameThe FQDN of the domain that


you want to access.

nameservers_ok

Required

Indicates whether the domain is set up to use the


OpenSRS nameservers.
0Domain is not set up to use the
OpenSRS nameservers
1Domain is set up to use the OpenSRS
nameservers

records

Required

A list of the record types defined for the domain;


each record includes the settings for that record.
Record types may be
A
AAAA
CNAME
MX
SRV
TXT

SRV

Optional

Service Record.
The SRV record consists of the following:
priorityThe priority of the target host,
lower value means more preferred.
weightA relative weight for records with
the same priority.
subdomainThe third level of the domain
name, such as www or ftp.
hostnameThe FQDN of the domain that
you want to access.
portThe TCP or UDP port on which the
service is to be found.

TXT

Optional

Text Record. Allows you to attach comments to a


hostname to validate that email is being sent
from the IP address of the domain's mail server.
The TXT record consists of the following:
subdomainThe third level of the domain
name, such as www or ftp.
textThe comments that you want to
include.

869

Response parameters for set_dns_zone


Standard parameters
action = reply
object = domain
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

nameservers_ok

Returned if
Indicates whether the domain is set up to use the
is_success = OpenSRS nameservers.
0Domain is not set up to use the
true
OpenSRS nameservers
1Domain is set up to use the OpenSRS
nameservers

records

Returned if
A list of the record types defined for the domain;
is_success = each record includes the settings for that record.
true
Record types may be
A
AAAA
CNAME
MX
SRV
TXT
For more information, see the Records table
below.

870

Records
Parameters within the records associative array are described below.
Parameter
name

Obligation

Definition/Value

Optional

Maps the domain name to the IP address.


The A record consists of the following:

AAAA

Optional

ip_addressInternet Protocol Address. A


numeric address that computers recognize, for
example, 123.45.54.123.
subdomainThe third level of the domain
name, such as www or ftp.

Maps the domain name to the IPv6 address.


The AAAA record consists of the following:

CNAME

Optional

subdomainThe third level of the domain


name, such as www or ftp.
ipv6_addressThe next generation Internet
Protocol designed as the successor to version
4. It is normally written as eight groups of four
hexadecimal digits (i.e. 2003:0db8:
85a3:0000:0000:8a2e:0370:7334)

Canonical Name. CNAME records can be used when


you want a subdomain to point to another hostname.
Allows you to create an alias for your domain.
The CNAME record consists of the following:
hostnameThe FQDN of the domain that you
want to access.
subdomainThe third level of the domain
name, such as www or ftp.

MX

Optional

Mail Exchange. MX records determine how mail is


delivered to your domain. Ensures that email that is
sent to you is routed to the correct destination.
The MX record consists of the following:
priorityThe priority of the target host, lower
value means more preferred.
subdomainThe third level of the domain
name, such as www or ftp.

871

Parameter
name

Obligation

Definition/Value

SRV

Optional

hostnameThe FQDN of the domain that you


want to access.

Service Record.
The SRV record consists of the following:
priorityThe priority of the target host, lower
value means more preferred.
weightA relative weight for records with the
same priority.
subdomainThe third level of the domain
name, such as www or ftp.
hostnameThe FQDN of the domain that you
want to access.
portThe TCP or UDP port on which the
service is to be found.

TXT

Optional

Text Record. Allows you to attach comments to a


hostname to validate that email is being sent from
the IP address of the domain's mail server.
The TXT record consists of the following:
subdomainThe third level of the domain
name, such as www or ftp.
textThe comments that you want to include.

Examples for set_dns_zone


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>

872

<item key="protocol">XCP</item>
<item key="action">SET_DNS_ZONE</item>
<item key="object">DOMAIN</item>
<item key="attributes">
<dt_assoc>
<item key="domain">example.com</item>
<item key="records">
<dt_assoc>
<item key="A">
<dt_array>
<item key="0">
<dt_assoc>
<item key="subdomain"></item>
<item
key="ip_address">123.123.123.2</item>
</dt_assoc>
</item>
<item key="1">
<dt_assoc>
<item key="subdomain">*</item>
<item
key="ip_address">123.123.123.3</item>
</dt_assoc>
</item>
<item key="2">
<dt_assoc>
<item key="subdomain">www</item>
<item
key="ip_address">123.123.123.4</item>
</dt_assoc>
</item>
</dt_array>
</item>
<item key="CNAME">
<dt_array>
<item key="0">

873

<dt_assoc>
<item key="subdomain">portal</item>
<item
key="hostname">www.example.com</item>
</dt_assoc>
</item>
</dt_array>
</item>
<item key="MX">
<dt_array>
<item key="0">
<dt_assoc>
<item key="subdomain"></item>
<item
key="hostname">mx.example.com.cust.test.hostedemail.com</item>
<item key="priority">10</item>
</dt_assoc>
</item>
</dt_array>
</item>
<item key="TXT">
<dt_array>
<item key="0">
<dt_assoc>
<item key="subdomain">mail</item>
<item key="text">v=spf1
exists:example.com -all</item>
</dt_assoc>
</item>
</dt_array>
</item>
<item key="AAAA">
<dt_array>
<item key="0">
<dt_assoc>
<item key="subdomain">itportal</item>

874

<item
key="ipv6_address">2001:00ab:0000:00a1:0001:000b:00cc:00de</item>
</dt_assoc>
</item>
</dt_array>
</item>
<item key="SRV">
<dt_array>
<item key="0">
<dt_assoc>
<item key="subdomain">itcontrol</item>
<item
key="hostname">control.example.com</item>
<item key="port">443</item>
<item key="priority">10</item>
<item key="weight">1</item>
</dt_assoc>
</item>
</dt_array>
</item>
</dt_assoc>
</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>

875

<body>
<data_block>
<dt_assoc>
<item key="protocol">XCP</item>
<item key="action">REPLY</item>
<item key="object">DOMAIN</item>
<item key="response_text">Command Successful</item>
<item key="response_code">200</item>
<item key="is_success">1</item>
<item key="attributes">
<dt_assoc>
<item key="records">
<dt_assoc>
<item key="A">
<dt_array>
<item key="0">
<dt_assoc>
<item key="subdomain"></item>
<item key="ip_address">123.123.123.2</item>
</dt_assoc>
</item>
<item key="1">
<dt_assoc>
<item key="subdomain">*</item>
<item key="ip_address">123.123.123.3</item>
</dt_assoc>
</item>
<item key="2">
<dt_assoc>
<item key="subdomain">www</item>
<item key="ip_address">123.123.123.4</item>
</dt_assoc>
</item>
</dt_array>
</item>

876

<item key="MX">
<dt_array>
<item key="0">
<dt_assoc>
<item key="priority">10</item>
<item key="subdomain"></item>
<item
key="hostname">mx.example.com.cust.test.hostedemail.com</item>
</dt_assoc>
</item>
</dt_array>
</item>
<item key="TXT">
<dt_array>
<item key="0">
<dt_assoc>
<item key="text">v=spf1 exists:example.com -all</item>
<item key="subdomain">mail</item>
</dt_assoc>
</item>
</dt_array>
</item>
<item key="SRV">
<dt_array>
<item key="0">
<dt_assoc>
<item key="priority">10</item>
<item key="weight">1</item>
<item key="subdomain">itcontrol</item>
<item key="hostname">control.example.com</item>
<item key="port">443</item>
</dt_assoc>
</item>
</dt_array>
</item>
<item key="CNAME">

877

<dt_array>
<item key="0">
<dt_assoc>
<item key="subdomain">portal</item>
<item key="hostname">www.example.com</item>
</dt_assoc>
</item>
</dt_array>
</item>
<item key="AAAA">
<dt_array>
<item key="0">
<dt_assoc>
<item key="subdomain">itportal</item>
<item
key="ipv6_address">2001:00ab:0000:00a1:0001:000b:00cc:00de</item>
</dt_assoc>
</item>
</dt_array>
</item>
</dt_assoc>
</item>
<item key="nameservers_ok">1</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

878

Domain Forwarding Commands


This section contains the following commands:

create_domain_forwardingAllows you to redirect visitors to


another website.
delete_domain_forwardingDeletes domain forwarding service.
get_domain_forwardingQueries the domain forwarding settings for a
specified domain.
set_domain_forwardingConfigures the domain forwarding settings for
a domain.

879

create_domain_forwarding
Description
Action & object
action = create_domain_forwarding
object = domain

Usage
Create domain forwarding service that is used to redirect visitors from one
web address to another. Once you create domain forwarding, you need to use
the set_domain_forwarding command to configure the settings.

Request parameters for create_domain_forwarding


Standard parameters
action = create_domain_forwarding
object = domain
attributes

Attributes
Parameters within the attributes associative array are described below.
Parameter
name

Obligation

Definition/Value

domain

Optional

The domain for which you want to enable domain


forwarding.

Response parameters for


create_domain_forwarding
Standard parameters
action = reply
object = domain
is_success = a Boolean is returned, indicating success or failure of the

request
response_code = response code indicating outcome of the request

880

response_text = message describing the outcome of the request

Examples for create_domain_forwarding


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">create_domain_forwarding</item>
<item key="object">domain</item>
<item key="attributes">
<dt_assoc>
<item key="domain">example.com</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>

881

<dt_assoc>
<item key="protocol">XCP</item>
<item key="action">REPLY</item>
<item key="object">DOMAIN</item>
<item key="response_text">Command Successful</item>
<item key="response_code">200</item>
<item key="is_success">1</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

882

delete_domain_forwarding
Description
Action & object
action = delete_domain_forwarding
object = domain

Usage
Delete the domain forwarding service for the specified domain.

Request parameters for delete_domain_forwarding


Standard parameters
action = delete_domain_forwarding
object = domain
attributes

Attributes
Parameters within the attributes associative array are described below.
Parameter
name

Obligation

Definition/Value

domain

Optional

The domain for which you want to delete domain


forwarding.

Response parameters for


delete_domain_forwarding
Standard parameters
action = reply
object = domain
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

883

Examples for delete_domain_forwarding


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">delete_domain_forwarding</item>
<item key="object">domain</item>
<item key="attributes">
<dt_assoc>
<item key="domain">example.com</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>

884

<item key="protocol">XCP</item>
<item key="action">REPLY</item>
<item key="object">DOMAIN</item>
<item key="response_text">Command Successful</item>
<item key="response_code">200</item>
<item key="is_success">1</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

885

get_domain_forwarding
Description
Action & object
action = get_domain_forwarding
object = domain

Usage
Queries the domain forwarding settings for a specified domain.

Request parameters for get_domain_forwarding


Standard parameters
action = get_domain_forwarding
object = domain
cookie = cookie created to access OpenSRS, see "set(cookie)"
attributes

Attributes
Parameters within the attributes associative array are described below.
Parameter
name

Obligation

Definition/Value

domain

Required if
cookie is not
submitted

The relevant domain.

Response parameters for get_domain_forwarding


Standard parameters
action = reply
object = domain
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

886

Attributes
If the request is successful, the attributes associative array may include the
following:
Parameter
name

Obligation

Definition/Value

forwarding

A list of the subdomains that are forwarded; can


Returned if
is_success = be empty.
true
For more information, see the Forwarding table
below.

Forwarding
Parameters within the forwarding associative array are described below.
Parameter
name

Obligation

Definition/Value

description

Optional

The description of the website; used by search


engines.

destination_url

Optional

The full address of the destination website, for


example, http://www.mycompany.com/
mybestpage.html, or the IP address, for
example, http://12.34.56.123

enabled

Optional

Indicates whether domain forwarding is in effect.

0Domain forwarding is off


1Domain forwarding is on

keywords

Optional

Descriptive words that a visitor might use when


searching for the website; used by search engines.

masked

Optional

Indicates whether the destination website address


appears in the browser address field.
0The actual destination address displays.
1The destination address is masked and
the original domain address is displayed
instead.

subdomain

Always
returned

The third level of the domain name, such as www


or ftp.
Note: Although this parameter is required, its
value can be null.

title

Optional

The text that appears in the browser title bar.

887

Examples for get_domain_forwarding


Example 1
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="forwarding"/>
<item key="action">get_domain_forwarding</item>
<item key="object">domain</item>
<item key="attributes">
<dt_assoc>
<item key="domain">example.com</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>

888

<body>
<data_block>
<dt_assoc>
<item key='protocol'>XCP</item>
<item key='action'>REPLY</item>
<item key='object'>DOMAIN</item>
<item key='response_text'>Command Successful</item>
<item key='response_code'>200</item>
<item key='is_success'>1</item>
<item key='attributes'>
<dt_assoc>
<item key='forwarding'>
<dt_array>
<item key='0'>
<dt_assoc>
<item key='keywords'/>
<item key='masked'>0</item>
<item key='subdomain'>mail</item>
<item
key='destination_url'>http://mail.example.org/webmail</item>
<item key='title'>Main Web Mail Access 1</item>
<item key='description'>Default Web Mail
Access</item>
<item key='enabled'>1</item>
</dt_assoc>
</item>
<item key='1'>
<dt_assoc>
<item key='keywords'/>
<item key='masked'>1</item>
<item key='subdomain'>www</item>
<item
key='destination_url'>http://www.example.org</item>
<item key='title'>Main Web Access 1</item>
<item key='description'>Default Site Access
Forward</item>
<item key='enabled'>1</item>

889

</dt_assoc>
</item>
</dt_array>
</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

Example 2
Without end-user credentials

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">get_domain_forwarding</item>
<item key="object">domain</item>
<item key="attributes">
<dt_assoc>
<item key='domain'>example.com</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>

890

</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'>DOMAIN</item>
<item key='response_text'>Command Successful</item>
<item key='response_code'>200</item>
<item key='is_success'>1</item>
<item key='attributes'>
<dt_assoc>
<item key='forwarding'>
<dt_array>
<item key='0'>
<dt_assoc>
<item key='keywords'/>
<item key='masked'>1</item>
<item key='subdomain'>mail</item>
<item
key='destination_url'>http://mail.example.org/webmail</item>
<item key='title'>Main Web Mail Access 1</item>
<item key='description'>Default Web Mail
Access</item>
<item key='enabled'>1</item>
</dt_assoc>
</item>
<item key='1'>

891

<dt_assoc>
<item key='keywords'/>
<item key='masked'>1</item>
<item key='subdomain'>www</item>
<item
key='destination_url'>http://www.example.org</item>
<item key='title'>Main Web Access 1</item>
<item key='description'>Default Site Access
Forward</item>
<item key='enabled'>1</item>
</dt_assoc>
</item>
</dt_array>
</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

892

set_domain_forwarding
Description
Action & object
action = set_domain_forwarding
object = domain

Usage
Configures the domain forwarding settings for a domain.
Note: Domain forwarding must already have been created for the domain.
See create_domain_forwarding.

The way in which the domain forwarding behaves depends on the format of
the domain name to which it applies:
domain.comApplies to all requests for this domain, unless overridden
by a second domain forwarding record. For example, if a site visitor
looks for whatever.domain.com, domain forwarding is applied (unless a
specific record has been set up for whatever.domain.com, or
*.domain.com). In other words, if no other forwarding is set up,
domain.com acts as a catch-all.
*.domain.comApplies domain forwarding to all subdomains. It will not
handle domain.com, but it will handle anything.domain.com.
whatever.domain.comDomain forwarding is applied to this subdomain
only.

Request parameters for set_domain_forwarding


Standard parameters
action = update_domain_forwarding
object = domain
cookie = cookie created to access OpenSRS, see "set(cookie)"
attributes

Attributes
Parameters within the attributes associative array are described below.
Parameter
name

Obligation

Definition/Value

domain

Required if
cookie is not
submitted

The relevant domain.

893

Parameter
name

Obligation

Definition/Value

forwarding

Optional

A list of the subdomains that you want forwarded


and their associated attributes.
For more information, see the Forwarding table
below.

Forwarding
Parameters within the forwarding associative array are described below.
Parameter
name

Obligation

Definition/Value

description

Optional

A short description of your website. The maximum


number of characters allowed is 255.
Note: This parameter only takes effect if masked =
1.

destination_url Optional

The full address of the destination website, for


example, http://www.mycompany.com/
mybestpage.html, or the IP address, for example,
http://12.34.56.123
The maximum number of characters allowed is 200.

enabled

keywords

Optional

Optional

Determines whether domain forwarding is in effect.

0Turn off domain forwarding

1Turn on domain forwarding

Descriptive words that a visitor might use when


searching for your website. Separate each word or
phrase with a comma.
The maximum number of characters allowed is 900.
Note: This parameter only takes effect if masked =
1.

masked

Optional

Determines the destination website address appears


in the browser address field.

0Display the actual destination address.

1Mask the destination address and display

the original domain address instead.


subdomain

Required

The third level of the domain name, such as www or


ftp. For example, if you specify www, visitors who
type example.com are redirected to
www.example.com.
The maximum number of characters allowed is 128.
Note: Although this parameter is required, its value
can be null.

894

Parameter
name

Obligation

Definition/Value

title

Optional

The text that you want to appear in the browser title


bar.
The maximum number of characters allowed is 255.
Note: This parameter only takes effect if masked =
1.

Response parameters for set_domain_forwarding


Standard parameters
action = reply
object = domain
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

Examples for set_domain_forwarding


Example 1
Request
<?xml version='1.0' encoding='UTF-8'?>
<OPS_envelope>
<header>
<version>0.9</version>
</header>
<body>
<data_block>
<dt_assoc>
<item key='protocol'>XCP</item>
<item key='action'>set_domain_forwarding</item>
<item key='object'>domain</item>
<item key='attributes'>
<dt_assoc>
<item key='domain'>example.com</item>

895

<item key='forwarding'>
<dt_array>
<item key='0'>
<dt_assoc>
<item key='masked'>1</item>
<item key='keywords'>Example2.com</item>
<item
key='destination_url'>http://www.example2.com</item>
<item key='enabled'>1</item>
<item key='description'>Example2.com</item>
<item key='subdomain'>mail</item>
<item key='title'>Example2.com</item>
</dt_assoc>
</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">DOMAIN</item>

896

<item key="response_text">Command Successful</item>


<item key="response_code">200</item>
<item key="is_success">1</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

Example 2
Without end-user credentials

Request
<?xml version='1.0' encoding='UTF-8'?>
<OPS_envelope>
<header>
<version>0.9</version>
</header>
<body>
<data_block>
<dt_assoc>
<item key='protocol'>XCP</item>
<item key='action'>set_domain_forwarding</item>
<item key='object'>domain</item>
<item key='attributes'>
<dt_assoc>
<item key='domain'>mydomain.com</item>
<item key='forwarding'>
<dt_array>
<item key="0">
<dt_assoc>
<item key="keywords">shopping cart
checkout</item>
<item key="masked">1</item>
<item key="subdomain">cart</item>
<item
key="destination_url">http://payment.gateway.biz</item>

897

<item key="title">Shopping Cart Checkout


Gateway</item>
<item key="description">Access to user
shopping cart for checkout handling.</item>
<item key="enabled">1</item>
</dt_assoc>
</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">DOMAIN</item>
<item key="response_text">Command Successful</item>
<item key="response_code">200</item>
<item key="is_success">1</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

898

User Commands
This section contains the following commands:

add (subuser)Creates a subuser for a user's account.


delete(subuser)Deletes a sub-user.
get(subuser)Queries a domain's sub-user data.
get(userinfo)Retrieves a user's general information.
modify(subuser)Modifies a domain's sub-user data.

899

add (subuser)
Description
Action & object
action = add
object = subuser
Usage
Creates a subuser for a user's account. Only one subuser can exist per
account.

Request parameters for add (subuser)


Standard parameters
action = add
object = subuser
registrant_ip = valid IP address of the registrant (optional)
username = name of the user account
cookie = cookie created to access OpenSRS, see "set(cookie)"
attributes

Attributes
Parameters within the attributes associative array are described below.
Parameter
name

Obligation

Definition/Value

domain

Required if
cookie is not
submitted

The relevant domain.

sub_password

Required

Password for the sub-user.

sub_permission

Required

The sub_permission value is a bit-mask that


indicates which portions of the domain information
are changeable by the sub-user. The bits are as
follows:
1Owner
2Admin
4Billing
8Tech
16Nameservers
32Rsp_whois_info

sub_username

Required

Username for the sub-user.

900

Response parameters for add (subuser)


Standard parameters
action = reply
object = subuser
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

Examples for add (subuser)


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">add</item>
<item key="object">subuser</item>
<item key="cookie">249880759:3210384</item>
<item key="username">aaaa</item>
<item key="attributes">
<dt_assoc>
<item key="sub_password">luda</item>
<item key="sub_permission">2</item>

901

<item key="sub_username">subludak</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">SUBUSER</item>
<item key="response_text">Command Successful</item>
<item key="is_success">1</item>
<item key="response_code">200</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

902

delete (subuser)
Description
Action & object
action = delete
object = subuser

Usage
Deletes a subuser.

Request parameters for delete (subuser)


Standard parameters
action = delete
object = subuser
registrant_ip = valid IP address of the registrant (optional)
cookie = cookie created to access OpenSRS, see "set(cookie)"
username = name of the user account
attributes

Attributes
Parameters within the attributes associative array are described below.
Parameter name

Obligation

Definition/Value

domain

Required if
cookie is not
submitted

The relevant domain.

sub_id

Required

The ID of the sub-user to be deleted.

Response parameters for delete (subuser)


Standard parameters
action = reply
object = subuser
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

903

Examples for delete (subuser)


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="attributes">
<dt_assoc>
<item key="sub_id">2532880</item>
</dt_assoc>
</item>
<item key="protocol">XCP</item>
<item key="action">delete</item>
<item key="object">subuser</item>
<item key="cookie">249880759:3210384</item>
<item key="username">aaaa</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>

904

<data_block>
<dt_assoc>
<item key="protocol">XCP</item>
<item key="action">REPLY</item>
<item key="object">SUBUSER</item>
<item key="response_text">Command Successful</item>
<item key="is_success">1</item>
<item key="response_code">200</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

905

get (subuser)
Description
Action & object
action = get
object = subuser

Usage
Queries a domain's sub-user data.

Request parameters for get (subuser)


Standard parameters
action = get
object = subuser
registrant_ip = valid IP address of the registrant (optional)
username = name of the user (parent) account
cookie = cookie created to access OpenSRS, see "set(cookie)"
attributes

Attributes
Parameters within the attributes associative array are described below.
Parameter name

Obligation

Definition/Value

domain

Required if
cookie is not
submitted

The relevant domain.

Response parameters for get (subuser)


Standard parameters
action = reply
object = subuser
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

906

Attributes
If the request is successful, the attributes associative array may include the
following. (If there is no sub-user on the domain, the attributes are empty.)
Parameter
name

Obligation

Definition/Value

id

Returned if
The sub-user's ID.
is_success = true

permission

The sub-user's permission level. The permission


Returned if
is_success = true value is a bit mask indicating which parts of the
domain information the sub-user can change.
1Owner
2Admin
4Billing
8Tech
16Nameservers
32Rsp_whois_info

username

Returned if
The sub-user's username.
is_success = true

Examples for get (subuser)


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">get</item>
<item key="object">subuser</item>
<item key="cookie">249880759:3210384</item>
<item key="username">aaaa</item>
</dt_assoc>

907

</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">SUBUSER</item>
<item key="is_success">1</item>
<item key="response_code">200</item>
<item key="response_text">Command Successful</item>
<item key="attributes">
<dt_assoc>
<item key="permission">2</item>
<item key="username">subludak</item>
<item key="id">2532880</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

908

get (userinfo)
Description
Action & object
action = get
object = userinfo

Usage
Retrieves a user's general information.

Request parameters for get (userinfo)


Standard parameters
action = get
object = user_info
cookie = cookie created to access OpenSRS, see "set(cookie)"
attributes

Attributes
Parameters within the attributes associative array are described below.
Parameter name

Obligation

Definition/Value

domain

Required if
cookie is not
submitted

The relevant domain.

Response parameters for get (userinfo)


Standard parameters
action = reply
object = userinfo
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

909

The Reseller Agent (RSA) could respond with a 250 response_code, which
indicates that the action was submitted for processing in an asynchronous
registry. OpenSRS processes the request when the registry's reply is
received.
Performing a set cookie or get userinfo command indicates if there is an
action currently waiting on a domain. This information can be used to alert
the user that there is a waiting request.

Attributes
If the request is successful, the attributes associative array may include the
following:
Parameter name

Obligation

Definition/Value

capabilities

Returned if is_success An associative array containing


parameters specific to the action= true
cookie combination.

dns_errors

Returned for .DE if


is_success = true

domain

Returned if is_success Fully qualified domain name. IDN


= true
names are returned in Punycode
for .COM/.NET and in RACE for .ORG.

domain_count

Returned if is_success Total number of domains in the


current user profile. A domain count
= true
> 1 indicates that the get domain
list action is possible.

encoding_type

Optional

expiredate

Returned if is_success Expiration date for the domain as


specified in the 'domain' field.
= true

f_owner

Returned if is_success A flag indicating whether the current


= true
user is the owner of the domain(s).

This contains the DNS errors if any,


in text format .DE only

Encoding type for the domain. For a


list of languages and codes, see
AppendixC: EncodingTypes for
IDNs.

If set to 1 then the current user is


the owner of the domain, if set to 0,
then the user is a subuser of the
domain and may only be authorized
to do certain actions.

910

Parameter name

Obligation

Definition/Value

permission

Returned if is_success An associative array containing


parameters specific to the action= true
cookie combination.

1Owner

2Admin

4Billing

8Tech

16Nameservers

32Rsp_whois_info

username

Returned if is_success The sub-user's username


= true

waiting_requests_no

Returned if is_success The number of registry requests in


the waiting state.
= true

Capabilities
Parameters within the capabilities associative array are described below.
Parameter name Obligation

Definition/Value

change_ips_tag

Optional

Indicates if option is available for end user to


change the Domain Tag; applicable to .UK
domains only.
1Option available for end user to
change Domain Tag
0Option not available for end user to
change Domain Tag

domain_auth_info

Always
returned

Secret pass phrase stored at the registry, which


is used to authorize transfers of domains.

1True
0False

The absence of a key also signifies false.


forwarding_email

Always
returned

Some TLDs offer an email forwarding service.


Often the end user must explicitly purchase this
service.

1True
0False

The absence of a key also signifies false.

911

Parameter name Obligation

Definition/Value

uk_whois_opt

Indicates if option is available for end user to


opt out of display of personal information in
WHOIS for .UK. The WHOIS opt-out is available
for .UK domains only, and only to individuals
(i.e. not corporations).
1End user is eligible to use the opt-out
feature for .UK WHOIS
0End user is not eligible to use the optout feature for .UK WHOIS

Optional

Deprecated
Parameter name

Obligation

Definition/Value

waiting_request

Deprecated

Replaced by waiting_requests_no.

Examples for get (userinfo)


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">GET</item>
<item key="object">USERINFO</item>
<item key="registrant_ip">216.40.46.115</item>
<item key="cookie">435686610:3185178</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

912

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">USERINFO</item>
<item key="is_success">1</item>
<item key="response_code">200</item>
<item key="response_text">Command Successful</item>
<item key="attributes">
<dt_assoc>
<item key="waiting_requests_no">8</item>
<item key="domain">example.org.uk</item>
<item key="encoding_type"/>
<item key="expiredate">2007-11-25 00:00:00</item>
<item key="permission"/>
<item key="domain_count">131</item>
<item key="f_owner">1</item>
<item key="username">aaaa</item>
<item key="capabilities">
<dt_assoc>
<item key="forwarding_email">0</item>
<item key="domain_auth_info">0</item>
<item key="uk_whois_opt">1</item>
<item key="change_ips_tag">1</item>
</dt_assoc>
</item>
</dt_assoc>

913

</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

914

modify (subuser)
Description
Action & object
action = modify
object = subuser

Usage
Modifies a domain's sub-user data.

Request parameters for modify (subuser)


Standard parameters
action = modify
object = subuser
registrant_ip = valid IP address of the registrant (optional)
username = name of the user account
cookie = cookie created to access OpenSRS, see "set(cookie)"
attributes

Attributes
Parameters within the attributes associative array are described below.
Parameter
name

Obligation

Definition/Value

domain

Required if
cookie is not
submitted

The relevant domain.

sub_id

Required

The sub-user's ID.

sub_password

Required

Password for the sub-user.

sub_permission

Required

The sub_permission value is a bit-mask that


indicates which portions of the domain information
are changeable by the sub-user. The bits are as
follows:
1Owner
2Admin
4Billing
8Tech
16Nameservers
32Rsp_whois_info

sub_username

Required

Username for the sub-user.

915

Response parameters for modify (subuser)


Standard parameters
action = reply
object = subuser
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

Examples for modify (subuser)


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">modify</item>
<item key="object">subuser</item>
<item key="cookie">249880759:3210384</item>
<item key="username">aaaa</item>
<item key="attributes">
<dt_assoc>
<item key="sub_password">luda</item>
<item key="sub_permission">4</item>

916

<item key="sub_id">2532880</item>
<item key="sub_username">subludak</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">SUBUSER</item>
<item key="response_text">Command Successful</item>
<item key="is_success">1</item>
<item key="response_code">200</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

917

Authentication Commands
This section contains the following commands:

change (ownership)Changes the username and password of the


profile that owns the cookie's domain.
change (password)Changes the password of the profile associated with
the cookie.
send_authcodeSends the Authcode for an EPP domain.
send_password(domain)Sends the domain password to the domain's
admin contact.

918

change (ownership)
Description
Action & object
action = change
object = ownership

Usage
Changes the username and password of the profile that owns the cookie's
domain.
Note: After issuing this command, in order to continue issuing further
commands for the domain, you must delete the current cookie and set
another.

Request parameters for change (ownership)


Standard parameters
action = change
object = ownership
cookie = cookie created to access OpenSRS, see "set(cookie)"
registrant_ip = valid IP address of the registrant (optional)
attributes

Attributes
Parameters within the attributes associative array are described below.
Parameter
name

Obligation

Definition/Value

domain

Required if
cookie is not
submitted

The relevant domain.

move_all

Optional

Indicates whether to move all the domains to the


new profile. If not submitted, only the domains
identified in the cookie are moved.
0Do not move all the domains to the new
profile
1Move all the domains to the new profile

919

Parameter
name

Obligation

Definition/Value

password

Required

The password of the registrant who is gaining


ownership.
You can use any of the following alphanumeric
characters and symbols: A-Z, a-z, 0-9, []()!@\
$^,.~|=-+_{}#"

reg_domain

Optional

If included, the user can change the domain from


one profile to another (already existing) profile. If
reg_domain is not included, the username and
password provided in the request are used to create
a new profile.

username

Required

The username of the registrant who is gaining


ownership.
You can use any of the following alphanumeric
characters: A-Z, a-z, 0-9.

Response parameters for change (ownership)


Standard parameters
action = reply
object = ownership
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

Examples for change (ownership)


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>

920

<item key="protocol">XCP</item>
<item key="action">CHANGE</item>
<item key="object">OWNERSHIP</item>
<item key="cookie">992336212:3228913</item>
<item key="registrant_ip">10.0.10.138</item>
<item key="attributes">
<dt_assoc>
<item key="move_all">1</item>
<item key="password">newprofile</item>
<item key="username">newprofile</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">OWNERSHIP</item>
<item key="response_text">Command Successful</item>
<item key="is_success">1</item>
<item key="response_code">200</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

921

change (password)
Description
Action & object
action = change
object = password

Usage
Changes the password of the profile associated with the cookie.
Note: After issuing this action, you should delete the current cookie and set
another in order to keep the profile information current.

Request parameters for change (password)


Standard parameters
action = change
object = password
cookie = cookie created to access OpenSRS, see "set(cookie)"
registrant_ip = valid IP address of the registrant (optional)
attributes

Attributes
Parameters within the attributes associative array are described below.
Parameter name

Obligation

Definition/Value

domain

Required if
cookie is not
submitted

The relevant domain.

reg_password

Required

The new password for the registrant.


You can use any of the following
alphanumeric characters and symbols: A-Z,
a-z, 0-9, []()!@\$^,.~|=-+_{}#"

Response parameters for change (password)


Standard parameters
action = reply
object = password

922

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

Examples for change (password)


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">change</item>
<item key="object">password</item>
<item key="cookie">201947893:3210384</item>
<item key="attributes">
<dt_assoc>
<item key="reg_password">aaaa</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>

923

</header>
<body>
<data_block>
<dt_assoc>
<item key="protocol">XCP</item>
<item key="action">REPLY</item>
<item key="object">PASSWORD</item>
<item key="response_text">Command Successful</item>
<item key="is_success">1</item>
<item key="response_code">200</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

924

send_authcode
Description
Action & object
action = send_authcode
object = domain

Usage
Sends the Authcode for an EPP domain to the admin contact. If the domain
for which the request is made does not use the EPP protocol, an error is
returned.
Note: A cookie does not need to be set to use this command.

Request parameters for send_authcode


Standard parameters
action = send_authcode
object = domain
attributes

Attributes
Parameters within the attributes associative array are described below.
Parameter
name

Obligation

Definition/Value

domain_name

Required

The EPP domain name for which the Authcode is


to be sent.

Response parameters for send_authcode


Standard parameters
action = reply
object = domain
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

925

Examples for send_authcode


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">send_authcode</item>
<item key="object">domain</item>
<item key="attributes">
<dt_assoc>
<item key="domain_name">example.info</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>

926

<item key="protocol">XCP</item>
<item key="action">reply</item>
<item key="object">domain</item>
<item key="response_text">Message sent</item>
<item key="is_success">1</item>
<item key="response_code">200</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

927

send_password (domain)
Description
Action & object
action = send_password
object = domain

Usage
Sends an email containing the domain password to the domain's admin
contact.

Request parameters for send_password (domain)


Standard parameters
action = send_password
object = domain
attributes

Attributes
Parameters within the attributes associative array are described below.
Parameter
name

Obligation

Definition/Value

domain_name

Required

The domain name for which the password is sent.

send_to

Required

An indication of the contact to which the password


is to be sent, either owner or admin (default)

sub_user

Required

An indication of whether the password is to be sent


to the sub-user of the domain. An error is returned
if this field is set to 1 but there is no sub-user
associated to the domain.

0Do not send to sub-user


1Send to sub-user

928

Response parameters for send_password (domain)


Standard parameters
action = reply
object = domain
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

Examples for send_password (domain)


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">send_password</item>
<item key="object">domain</item>
<item key="attributes">
<dt_assoc>
<item key="sub_user">0</item>
<item key="send_to">owner</item>
<item key="domain_name">example.info</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

929

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">domain</item>
<item key="response_text">Message sent</item>
<item key="is_success">1</item>
<item key="response_code">200</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

930

Cookie/Session Commands
This section contains the following commands:

delete(cookie)Deletes a cookie.
quit(session)Cleanly terminates the connection.
set(cookie)Creates a cookie.
update(cookie)Changes the domain associated with the current cookie.

931

delete (cookie)
Description
Action & object
action = delete
object = cookie

Usage
Deletes a cookie.

Request parameters for delete (cookie)


Standard parameters
action = delete
object = cookie
cookie = The cookie to be deleted
registrant_ip = The IP address of the registrant (optional)
attributes

Attributes
Parameters within the attributes associative array are described below.
Parameter
name

Obligation

Definition/Value

cookie

Required

The cookie to be deleted.


Note: The format of the cookie is subject to
change, and should be treated as a simple string.

domain

Required if
cookie is not
submitted as
credentials

The relevant domain.

Response parameters for delete (cookie)


Standard parameters
action = reply
object = cookie

932

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

Examples for delete (cookie)


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">delete</item>
<item key="object">cookie</item>
<item key="cookie">484465641:3210384:7453745</item>
<item key="attributes">
<dt_assoc>
<item key="cookie">484465641:3210384</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>

933

<version>0.9</version>
</header>
<body>
<data_block>
<dt_assoc>
<item key="protocol">XCP</item>
<item key="action">REPLY</item>
<item key="object">COOKIE</item>
<item key="response_text">Command Successful</item>
<item key="is_success">1</item>
<item key="response_code">200</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

934

quit (session)
Description
Action & object
action = quit
object = session

Usage
Cleanly terminates the connection. This command is required only if your
connection method is CBC (crypt type can be Blowfish or DES).

Request parameters for quit (session)


Standard parameters
protocol= XCP
action = quit
object = session

Note: No cookie is required because the quit action is not authenticated.

Response parameters for quit (session)


Standard parameters
action = reply
object = session
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

Examples for quit (session)


Request
<?xml version='1.0' encoding='UTF-8' standalone='no'?>
<!DOCTYPE OPS_envelope SYSTEM 'ops.dtd'>
<OPS_envelope>
<header>
<version>0.9</version>

935

</header>
<body>
<data_block>
<dt_assoc>
<item key="protocol">XCP</item>
<item key="action">quit</item>
<item key="object">session</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">SESSION</item>
<item key="response_text">Closing connection</item>
<item key="is_success">1</item>
<item key="response_code">200</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

936

set (cookie)
Description
Action & object
action = set
object = cookie

Usage
Creates a cookie for use in commands where a cookie is required to access
OpenSRS.
The cookie lasts for one hour.

Request parameters for set (cookie)


Standard parameters
action = set
object = cookie
registrant_ip = The IP address of the registrant (optional)
attributes

Attributes
Parameters within the attributes associative array are described below.
Parameter
name

Obligation

Definition/Value

domain

Required

The relevant domain. (Multilingual domains must


be race-encoded.)

reg_password

Required

The registrant's password.


You can use any of the following alphanumeric
characters and symbols: A-Z, a-z, 0-9, []()!@\
$^,.~|=-+_{}#"

reg_username

Required

The registrant's username.


You can use any of the following alphanumeric
characters: A-Z, a-z, 0-9.

937

Response parameters for set (cookie)


Standard parameters
action = reply
object = cookie
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

Attributes
If the request is successful, the attributes associative array may include the
following:
Parameter name

Obligation

Definition/Value

cookie

Returned if
The current user's cookie.
is_success = Note: The format of the cookie is subject to
true
change, and should be treated as a simple
string.

domain_count

The number of domains in the registrant


Returned if
is_success = profile.
true
Note: The domain_count for a sub-user is
always 0, because a sub-user cannot be
linked with more than one domain.

expiredate

Returned if
The expiry date of the domain, in the format
is_success = YYYY-MM-DD hh:mm:ss.
true

f_owner

A flag indicating whether the current user is


Returned if
is_success = the owner of the domain(s):
true
0User is not owner

1User is owner

last_access_time

When the account was last accessed,


Returned if
is_success = expressed in seconds since Epoch.
true

last_ip

Returned if
The last IP address used.
is_success =
true

permission

Returned if
An indication of the permission level of the
is_success = domain's sub-user. The permission value is a
true
bit mask that indicates which portions of the
domain information are changeable by the
sub-user.

938

Parameter name

Obligation

Definition/Value

redirect_url

Optional

1Owner
2Admin
4Billing
8Tech
16Nameservers
32Rsp_whois_info

The URL for domains in the OpenSRS Parked


Pages Program. If you have questions about a
specific domain, email
tucowspark@tucows.com.
If the domain is a Storefront domain, the
value is the URL for the associated Storefront
Domain Manager.

waiting_requests_no

The number of registry requests in the


Returned if
is_success = waiting state.
true

Deprecated
Parameter name

Obligation

Definition/Value

waiting_request

Deprecated

Replaced by "waiting_requests_no"

Examples for set (cookie)


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">set</item>
<item key="object">cookie</item>

939

<item key="registrant_ip">216.40.46.115</item>
<item key="attributes">
<dt_assoc>
<item key="reg_username">robson</item>
<item key="reg_password">changeit</item>
<item key="domain">example.co.uk</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">cookie</item>
<item key="response_text">Command Successful</item>
<item key="is_success">1</item>
<item key="response_code">200</item>
<item key="attributes">
<dt_assoc>
<item key="waiting_requests_no">0</item>
<item key="permission"/>
<item key="cookie">920954818:3214550:7453745</item>
<item key="domain_count">131</item>
<item key="f_owner">1</item>

940

<item key="last_access_time">1082751795</item>
<item key="encoding_type"/>
<item key="last_ip">10.0.11.215</item>
<item key="expiredate">2007-11-25 00:00:00</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

941

update (cookie)
Description
Action & object
action = update
object = cookie

Usage
Allows the client to change the domain associated with the current cookie.

Request parameters for update (cookie)


Standard parameters
action = update
object = cookie
registrant_ip = The IP address of the registrant (optional)
cookie = cookie created to access OpenSRS, see "set(cookie)"
attributes

Attributes
Parameters within the attributes associative array are described below.
Parameter name

Obligation

Definition/Value

domain

Required if
cookie is not
submitted

The current domain for the cookie.

domain_new

Required

The new domain for the cookie.

reg_username

Required

The registrant's username.

reg_password

Required

The registrant's password.

Response parameters for update (cookie)


Standard parameters
action = reply
object = cookie
is_success = a Boolean is returned, indicating success or failure of the

request

942

response_code = response code indicating outcome of the request


response_text = message describing the outcome of the request
attributes

Attributes
If the request is successful, the attributes associative array may include the
following:
Parameter name

Obligation

Definition/Value

cookie

Returned if
The current user's cookie.
is_success = Note: The format of the cookie is subject to
true
change, and should be treated as a simple
string.

domain_count

Returned if
The number of domains in this profile.
is_success = Note: The domain_count for a sub-user is
true
always 0, as a sub-user cannot be linked with
more than one domain.

expiredate

The domain's expiry date in the format YYYYReturned if


is_success = MM-DD hh:mm:ss.
true

f_owner

A flag indicating whether the current user is


Returned if
is_success = the owner of the domain(s):
true
0User is not owner

waiting_requests_no

1User is owner

The number of registry requests in the


Returned if
is_success = waiting state.
true

Deprecated
Parameter name

Obligation

Definition/Value

waiting_request

Deprecated

Replaced by "waiting_requests_no"

Examples for update (cookie)


Request
<?xml version='1.0' encoding='UTF-8' standalone='no' ?>
<!DOCTYPE OPS_envelope SYSTEM 'ops.dtd'>
<OPS_envelope>
<header>

943

<version>0.9</version>
</header>
<body>
<data_block>
<dt_assoc>
<item key="protocol">XCP</item>
<item key="action">update</item>
<item key="object">cookie</item>
<item key="registrant_ip">10.0.11.121</item>
<item key="attributes">
<dt_assoc>
<item key="domain_new">example.me.uk</item>
<item key="reg_username">robson</item>
<item key="domain">example.co.uk</item>
<item key="reg_password"/>
</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">COOKIE</item>

944

<item key="is_success">1</item>
<item key="response_code">200</item>
<item key="response_text">Command Successful</item>
<item key="attributes">
<dt_assoc>
<item key="waiting_requests_no">2</item>
<item key="f_owner">1</item>
<item key="cookie">880117898:3214551:7453745</item>
<item key="domain_count">172</item>
<item key="expiredate">2007-11-25 00:00:00</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

945

WHOIS Privacy Command


This section contains the following command:

change_wp_expiry_dateThis command has been deprecated. To


cancel the WHOIS Privacy service, use the modify (domain) command
with the whois_privacy_state parameter.

946

change_wp_expiry_date
Description
Action & object
action = change_wp_expiry_date
object = domain

Usage
Changes the expiry date for the WHOIS Privacy service for a domain.
Important: This command has been deprecated.
WHOIS Privacy is now a free service and does not have an expiry date. If this
command is part of your current integration, it continues to work; however,
the resulting expiry date is ignored.

To disable the WHOIS Privacy service, use the modify (domain) command
with the whois_privacy_state parameter.

Request parameters for change_wp_expiry_date


Standard parameters
action = change_wp_expiry_date
object = domain
cookie = cookie created to access OpenSRS, see "set (cookie)"
attributes

Attributes
Parameters within the attributes associative array are described below.
Parameter
name

Obligation

Definition/Value

domain

Required

The domain for which to change WHOIS Privacy


expiry.

expiry_day

Required

Day of the month (0-31) when WHOIS Privacy


expires. Used with expiry_month and
expiry_year to indicate a future date. Date cannot
be after the domain's expiry date. To set WHOIS
Privacy to not expire, leave this parameter,
expiry_month, and expiry_year empty.

947

Parameter
name

Obligation

Definition/Value

expiry_month

Required

Month when WHOIS Privacy expires (01-12). Used


with expiry_day and expiry_year to indicate a
future date. Date cannot be after the domain's
expiry date. To set WHOIS Privacy to not expire,
leave this parameter, expiry_day, and
expiry_year empty.

expiry_year

Required

Year when WHOIS Privacy expires, in the format


YYYY. Used with expiry_day and expiry_month to
indicate a future date. Date cannot be after the
domain's expiry date. To set WHOIS Privacy to not
expire, leave this parameter, expiry_day, and
expiry_month empty.

Response parameters for change_wp_expiry_date


Standard parameters
action = reply
object = domain
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

Examples for change_wp_expiry_date


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">change_wp_expiry_date</item>

948

<item key="object">domain</item>
<item key="cookie">199316337:3893</item>
<item key="attributes">
<dt_assoc>
<item key="domain">example.com</item>
<item key="expiry_month">12</item>
<item key="expiry_day">05</item>
<item key="expiry_year">2009</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">DOMAIN</item>
<item key="response_text">Expiry date successfully
updated</item>
<item key="is_success">1</item>
<item key="response_code">200</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

949

Event Notification Commands

Event Notifications allow resellers to receive notifications if the status of


asynchronous domain transaction changes. Notification events include
order status changes, nameserver updates, renewals, or registrant
changes. Please see our reference guide for details on which TLDs are
Synchronous or Asynchronous.
To activate Event Notifications, please visit the New Control Panel
(https://manage.opensrs.com). Navigate to ACCOUNT SETTINGS page (under
the gear symbol at top-right) and select the EVENT NOTIFICATIONS tab to
configure which events you would like to receive.

When API polling for Event Notifications is enabled, you can send queries for
events that have occurred. To begin, poll the OpenSRS server for Event
Notification results. We recommend you query and acknowledge one event at
a time, however you can set the item key="limit to a maximum of 100 event
results per call.

950

API Example :
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="object">EVENT</item>
<item key="action">POLL</item>
<item key="attributes">
<dt_assoc>
<item key="limit">1</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="object">EVENT</item>
<item key="response_code">200</item>
<item key="is_success">1</item>
<item key="response_text">Command successful</item>
<item key="transaction_id">2014-05-29 11:14:02 23004 101</item>
<item key="action">REPLY</item>
<item key="attributes">
<dt_assoc>
<item key="events">
<dt_array>
<item key="0">
<dt_assoc>
<item key="object_data">
<dt_assoc>
<item key="domain_name">abc-fictional.de</item>

951

<item key="domain_id">801743</item>
<item key="zone_check_status">invalid</item>
</dt_assoc>
</item>
<item key="object">DOMAIN</item>
<item key="event_id">6887c7d3838dcaec7517c531df527bb7</item>
<item key="event">ZONE_CHECK_STATUS_CHANGE</item>
<item key="event_date">2014-05-27T19:29:25Z</item>
</dt_assoc>
</item>
</dt_array>
</item>
<item key="total">1</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

Once you have received the poll results, you must ACK the event(s) using
the Event_ID to remove them from the Notification queue.
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="object">EVENT</item>
<item key="action">ACK</item>
<item key="attributes">
<dt_assoc>
<item key="event_id">6887c7d3838dcaec7517c531df527bb7</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">

952

<OPS_envelope>
<header>
<version>0.9</version>
</header>
<body>
<data_block>
<dt_assoc>
<item key="protocol">XCP</item>
<item key="object">EVENT</item>
<item key="response_code">200</item>
<item key="is_success">1</item>
<item key="response_text">Command successful</item>
<item key="transaction_id">2014-05-29 11:17:03 22962 101</item>
<item key="action">REPLY</item>
<item key="attributes">
<dt_assoc>
<item key="total">0</item>
</dt_assoc>
</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>

Command Syntax :
OBJECT: DOMAIN
EVENT: CREATED
DESCRIPTION: The domain was added to the system due to any number of
actions including, registration, transfer completion, redemption, back-end
import, etc. Basically if a domain is added to our database for ANY reason, this
event will be dispatched.
expiration_date
OBJECT: DOMAIN
EVENT: EXPIRED
DESCRIPTION: The domain has reached DAY 0 without being renewed.
expiration_date
OBJECT: DOMAIN
EVENT: NAMESERVER_UPDATE
DESCRIPTION: The nameservers set for this domain have changed.
nameserver_list - Array of nameservers as set at the moment of this event

953

OBJECT: DOMAIN
EVENT: REGISTERED
DESCRIPTION: A domain registration has completed.
expiration_date
period - Number of years registered for
OBJECT: DOMAIN
EVENT: REGISTRANT_VERIFICATION_STATUS_CHANGE
DESCRIPTION: Notifies of a change to the registrant verification status for this
domain. This gives visibility into the state of a registrant's verification.
verification_status - unverified pending verifying marking_as_verified
verified suspended admin_reviewing bounced not_applicable
OBJECT: DOMAIN
EVENT: RENEWED
DESCRIPTION: This event will be fired whenever a renewal is processed for a
domain, whther it be through auto-renewal, or a manually created renewal
order.
expiration_date
period - Number of years renewed for
OBJECT: DOMAIN
EVENT: ZONE_CHECK_STATUS_CHANGE
DESCRIPTION: For .de and .fr, will notify when the DNS/ZONE check has
passed, or failed at the registry, as the domain is in jeopardy of being disabled
by the registry if it remains invalid.
zone_check_status - valid invalid
OBJECT: DOMAIN
EVENT: DELETED
DESCRIPTION:
reason - expired transfered auction historical by-request delete-domain-api
deletion_date
redemption_grace_period_end_date
OBJECT: ORDER
EVENT: CLAIM_STATUS_CHANGE

954

DESCRIPTION:
claim_status - initiated declined cancelled accepted
OBJECT: ORDER
EVENT: STATUS_CHANGE
DESCRIPTION:
order_status - cancelled completed declined pending pending_fax processed
waiting
order_reg_type - landrush new premium renewal sunrise transfer
whois_privacy
OBJECT: TRANSFER
EVENT: STATUS_CHANGE
DESCRIPTION:
transfer_status - cancelled completed pending_admin pending_owner
pending_registry

For API example responses for all types of queries, please see the attachments
on our Online Knowledgebase Article at http://help.opensrs.com/hc/enus/articles/203245923

955

Appendix A: Special Considerations for


Asynchronous Registries
OpenSRS supports the registration of domains in asynchronous registries.
Asynchronous registries are those registries that do not provide a real time
response to a requested action.
The OpenSRS system shields the complexity of the asynchronous email
processing from you. However, you still need to be aware of it, because
operations (actions) on a registry that is asynchronous do not give you a
real-time success or failure response. Instead, you get a message that the
action has been sent, and is awaiting processing by the remote registry. At
some later point, you will see the actual results of your action (for example,
if you make modifications to a domain, you won't see them until some time
has elapsed).

956

Appendix B: Customizing the Transfer


Approval URL
By default, a domain's admin contact is directed to the OpenSRS transfer
approval URL, but a reseller can choose to instead direct clients to their own
URL for approvals.
The scripts to parse the end-user replies back to OpenSRSmust pass
responses through https://rr-n1-tor.opensrs.net/transfers, and must include
several different actions (each of which require various fields). The required
actions and fields are listed in the following tables.

Regular transfers
Key

Value

action

Confirm

domain

<domain_name>

id

<transfer_request_id>

action

whois_transfer

domain

<domain_name>

unique_id

<transfer_request_id>

action

do_confirm

domain

<domain_name>

unique_id

<transfer_request_id>

phone

phone_number

action

cancel_transfer

domain

<domain_name>

unique_id

<transfer_request_id>

Page flow

Notes:

The Confirm page must contain the string value='whois_transfer'.


The Success page must contain the string 'Thank you for confirming'.
The Cancel page must contain the string 'has been cancelled'.

957

Bulk transfers
Key

Value

action

confirm_bulk_transfer

bt

bulk_transfer_id

< bulk_transfer_id >

id

<transfer_request_id>

action

do_confirm_bulk_transfer

bulk_transfer_id

< bulk_transfer_id >

unique_id

<transfer_request_id>

phone

phone_number

action

cancel_bulk_transfer

domain

<domain_name>

unique_id

<transfer_request_id>

Page flow

Notes:

The Confirm page must contain the string 'Listed below are the
domains that will be transferred:' (List of domains located between
<menu> </menu>).
The Success page must contain the string 'Thank you for confirming
batch transfer'.
The Cancel page must contain the string 'has been cancelled'.

Transfers away
Key

Value

action

confirm_transfer_away

away

domain

<domain_name>

id

<transfer_request_id>

action

do_confirm_away

domain

<domain_name>

958

unique_id

<transfer_request_id>

phone

phone_number

action

do_cancel_away

domain

<domain_name>

unique_id

<transfer_request_id>

Page flow
Notes:

The Confirm page must contain the string 'away from' (To include time
and registrar name, the page must also contain the string 'this request
was entered at <date> by <registrar>').
The Success page must contain the string 'Thank you. Your domain will
be transferred to'.
The Cancel page must contain the string 'Thank you. Your domain will NOT
be transferred to'.

959

Appendix C: Encoding Types for IDNs


The three-character language codes listed in the following table are the
allowed values for the 'encoding_type' parameter, which is used to specify
the language to use for an IDN.
Language

Language code

Afrikaans

AFR

Albanian-ALB

ALB

Arabic

ARA

Aragonese

ARG

Armenian-ARM

ARM

ASCII

(blank, no language code)

Assamese

ASM

Asturian; Bable

AST

Avestan

AVE

Awadhi

AWA

Azerbaijani

AZE

Balinese

BAN

Baluchi

BAL

Basa

BAS

Bashkir

BAK

Basque-BAQ

BAQ

Belarusian

BEL

Bengali

BEN

Bhojpuri

BHO

Bosnian

BOS

Bulgarian

BUL

Burmese-BUR

BUR

Carib

CAR

Catalan

CAT

Chechen

CHE

960

Language

Language code

Chinese-CHI

CHI

Chuvash

CHV

Coptic

COP

Corsican

COS

Croatian-SCR

SCR

Czech-CZE

CZE

Danish

DAN

Divehi

DIV

Dogri

DOI

Dutch-DUT; Flemish

DUT

English

ENG

Estonian

EST

Faroese

FAO

Fijian

FIJ

Finnish

FIN

French-FRE

FRE

Frisian

FRY

Gaelic; Scottish Gaelic

GLA

Georgian-GEO

GEO

German-GER

GER

Greek-GRE, Modern (1453-)

GRE

Gondi

GON

Gujarati

GUJ

Hebrew

HEB

Hindi

HIN

Hungarian

HUN

Icelandic-ICE

ICE

Indic (Other)

INC

961

Language

Language code

Indonesian

IND

Ingush

INH

Irish

GLE

Italian

ITA

Japanese

JPN

Javanese

JAV

Kashmiri

KAS

Kazakh

KAZ

Khmer

KHM

Kirghiz

KIR

Korean

KOR

Kurdish

KUR

Lao

LAO

Latvian

LAV

Lithuanian

LIT

Luxembourgish; Letzeburgesch

LTZ

Macedonian-MAC

MAC

Malayalam

MAL

Malay-MAY

MAY

Maltese

MLT

Maori-MAO

MAO

Mixed (English) *

ENG

Moldavian

MOL

Mongolian

MON

Nepali

NEP

None specified

NO

Norwegian

NOR

Oriya

ORI

962

Language

Language code

Ossetian; Ossetic

OSS

Panjabi

PAN

Persian-PER

PER

Polish

POL

Portuguese

POR

Pushto

PUS

Rajasthani

RAJ

Romanian-RUM

RUM

Russian

RUS

Samoan

SMO

Sanskrit

SAN

Sardinian

SRD

Serbian-SCC

SCC

Seychelles

SCR

Simplified Chinese

ZH-CN

Sindhi

SND

Sinhalese

SIN

Slovak-SLO

SLO

Slovenian

SLV

Somali

SOM

Spanish; Castilian

SPA

Swahili

SWA

Swedish

SWE

Syriac

SYR

Tajik

TGK

Tamil

TAM

Telugu

TEL

Thai

THA

963

Language

Language code

Tibetan-TIB

TIB

Traditional Chinese

ZH-TW

Turkish

TUR

Ukrainian

UKR

Urdu

URD

Uzbek

UZB

Vietnamese

VIE

Welsh-WEL

WEL

Yiddish

YID

964

Revisions and Updates


June 10, 2014

Added command uk_get_blocker_contact which checks whether the


specified domain name is registered as a third level .UK domain (for
example. .co.uk or .org.uk) with the same registrar and reseller, and if
so, returns the owner contact details.

May 15, 2014


Added .TRAVEL to list of domains that require registrant_extra_info.
May 13, 2014

Added .NYC to list of domains that require registrant_extra_info.

May 5, 2014

The .AU au_registrant_info section has been updated with changes


to the registrant requirements for .AU domains.

April 16, 2014

Added get_contract command, which retrieves the text of the


Reseller agreement known as Exhibit A.
The id_card_number and registrant_vat_id are now optional for
.CL registrations and trades.

April 15, 2014

Added two new lookup types to the name_suggest command:


o premium_brokered_transferReturns domain names that may
o

be purchased from external suppliers that use a broker to complete the


purchase process.
premium_make_offer Returns domain names that may be
purchased from external suppliers where the buyer and seller
negotiate the purchase price.

March 11, 2014

Added has_claim parameter to lookup domain and name_suggest


commands. Indicates whether the domain name has a matching mark
registered at the Trademark Clearinghouse (TMCH).
Added async_reason parameter to sw_register and
process_pending commands. Indicates the reason that the request
was asynchronous.

965

February 27, 2014

Added policy_reason to the au_registrant_info array. The value


indicates the reason the registrant is entitled to the domain name.
Applies to sw_register, get (domain), and get_order_info.

January 30, 2014


The get_registrant_verification_status command has been changed
as follows:
o suspend_date has been renamed verification_deadline.
o days_to_suspend returns 0 if the domain is verified.
o added email_bounced,which returns 1 if the email was
triggered because the WDRP or renewal notice bounced.
January 7, 2014

Added the following new commands for registrant verification:


get_registrant_verification_statusreturns the current state of
the registrant verification request.
send_registrant_verification_emailSends or resends the
verification email to the registrant.

December 3, 2013
When submitting sunrise orders for the new gTLDs, you must submit
the following parameters and values with the sw_register command:
trademark_smd, reg_type = sunrise, and handle = save.
October 8, 2013

Added information about the tld_data requirements for .DE and .DK
domains.

June 20, 2013


Added contacts required for .PH to the Domain contacts table.
Added information about the tld_data requirements for .CL, .CO.ZA,
.COM.BR, .MX, .MY, and .RO.
IDNs are now allowed for .BE domain names.
In contact_set, if country = MX, you must use the 2 character code for
the state value.
February 13. 2013

Added a table listing the contacts required for each gTLD and ccTLD.

November 27, 2012


The place_or_birth parameter is no longer required for .RU and .COM.RU
domains.

966

November 1, 2012
The trade_domain command no longer applies to .EU domains. You can
now make changes to the registrant information either by using the
modify domain command or by specifying the new information when you
transfer the domain (using sw_register).
Auth codes are required for .EU transfers.
July 12, 2012

The following TLDs can now be registered through OpenSRS: .AE, .AF,
.COM.AR, .AS, .CL, .CM, .COOP, .CA, .EC, .COM.EC, .FIN.EC, .INFO.EC,
.MED.EC, .NET.EC, .PRO.EC, .FI, .GL, .GY, .CO.GY, .COM.GY, .NET.GY,
.HK, .HM, .COM.HR, .HT, .HU, .CO.HU, .IS, .KG, .LT, .LU, .LV, .COM.LV,
.LY, .COM.LY, .MA, .CO.MA, .MD, .NO, .PM, .PT, .COM.PT, .COM.RO, .RE,
.RO, .RU, .COM.RU, .SE, .SG, .SI, .SR, .TF, .TO, .VG, .WF, .YT.
Added information about the tld_data requirements for the domains that
require additional information.
Incremented version to 4.0.7.

May 17, 2012


Added information about the tld_data requirements for .AERO and .JOBS
domains.
Added information to sw_register, get domain, and modify domain
commands about requirements for .JOBS and .AERO domains.
Added the following new commands:
get_domain_affiliate_idRetrieves the affiliate id associated
with a domain.
set_domain_affiliate_idAssigns an affiliate id to a domain.
The get_domain all_info command now returns affiate_id, if
applicable.
The get_transfers_in command now returns affiate_id if submitted in
the transfer order.
Incremented version to 4.0.6.
March 15, 2012

When you register or change ownership of a .FR domain name, you


must provide information to satisfy the regional presence requirements
of the .FR registry. That information can now be submitted within the
tld_data array. The sw_register, trade_domain, and get_order_info
commands have been updated with the new values and examples.
The tld_data array is also used by the get (domain), get_order_info,
and modify (domain) commands to handle the additional information
that is required by the .ASIA, .AU, .IT. .PRO, .US, and .XXX registries.
The structure of these commands has been changed to make it
consistent with the way in which tld_data is handled by the
sw_register (domain) command.
Incremented version to 4.0.2.

967

December 8, 2011
Added information to sw_register, get domain, and modify domain
commands about additional parameters required for .PRO domains.
Incremented version to 3.9.6.
December 6, 2011

General Availability of .XXX domain names begins.

November 25, 2011


Added information to sw_register, get domain, and modify domain
commands about additional parameters for .XXX orders.
November 17, 2011
The name_suggest command now allows you to specify the minimum
and maximum prices of the Premium Names that you want it to return.
Incremented version to 3.9.5.
November 8, 2011

Added information to sw_register about .XXX Landrush applications.


The .XXX Landrush period begins November 8, 2011.

October 13, 2011


You can now use the redeem domain command to redeem .COM, .NET,
.IT, and .NL domains that have expired but are within the redemption
grace period (previously this command could only be usedfor .CA)
The create, modify, delete and get nameserver commands now accept
IPv6 addresses.
Incremented version to 3.9.3.
September 7, 2011

Added information to sw_register and get_order_info sections about


the additional parameters required for .XXX Sunrise applications.
The .XXX Sunrise period begins September 7, 2011.

Incremented version to 3.8.2.

June 14, 2011


When using the trade_domain command to transfer ownership of
.BE domains only, you must supply the domain_auth_info
parameter in the request.

The minimum number of characters for .TEL domain names is now two.
Additionally, .TEL names can now contain only numbers.
Incremented version to 3.8.1.

May 11, 2011


Added information about commands that can be submitted without
end-user credentials.
968

April 12, 2011


Added the redeem domain command which redeems an expired .CA
domain that is within the redemption grace period.
February 19, 2011
Cyrillic languages have been added to the list of available IDNs for .ORG
domains.
February 3, 2011
The .IT registry has moved to an industry standard platform, and as
a result, the following commands have been affected:
sw_registerThe .IT owner contact requires three additional
parameters: nationality_code, reg_code, and entity_type.
modifyThe .IT owner contact requires three additional
parameters: nationality_code, reg_code, and entity_type.
advanced_update_nameservers For .IT domains, the registry
runs a series of tests against the nameservers before activating
them.
update_all_infoThis command can no longer be used for .IT
domains.
update_contactsThe .IT owner contact requires three additional
parameters: nationality_code, reg_code, and entity_type.
WHOIS Privacy is now supported for .CO domains.
Incremented version to 3.6.1.
December 9, 2010
Added a new parameter to the get domain command called
clean_ca_subset, which determines the type of contact_set values that
are returned for .CA domains when type = admin or tech.
October 28, 2010
Added data = cira_registrant to the list of values for modify
(domain). Used to change the owner of a .CA domain.

969

October 12, 2010


CIRA has moved to an industry standard platform for .CA domain
registrations, and as a result, the following commands have been
deprecated:
cira_email_pwd
get_ca_blocker_list
cancel_active_process
send_cira_approval_email

If these commands are part of your current integration, they continue


to work; however, the results are ignored.
For modify (domain), the trademark parameter has been deprecated,
and the domain_auth_info parameter now supports .CA.
For sw_register (domain), the following parameters have been
deprecated: ca_link_domain, cwa, domain_description, isa_trademark,
rant_agrees, rant_no; however, lang_pref and legal_type continue to
be required for .CA registrations. The f_lock_domain parameter now
applies to .CA registrations.
For .CA WHOIS Privacy, a new parameter ca_whois_display_setting has
been added to get (domain) and modify (domain).
For .CA registrations (sw_register command), the lang_pref
parameter has been deprecated. For admin, owner, and tech contacts,
you can use the optional parameter lang to specify the language
(English or French) for that contact. The lang parameter is optional; if
not specified, English is used.
Incremented version to 3.5.1.

October 5, 2010
Added information to the sw_register and get_order_info commands for
Trust Services.
Added the following new commands for Trust Services:
cancel_orderCancels a Trust Service order.
get_product_infoQueries the properties of the specified Trust
Service product.
parse_csrParses the CSR and identifies its data elements.
query_approver_list Queries the list of approvers for the Trust
Service that is associated with the specified domain.
request_on_demand_scanAsks Verisign to rescan your system.
resend_approver_emailResends the Approver email.
resend_cert_emailResends the certificate email address.
update_orderSubmits a Trust Service order update to the
OpenSRS system.
update_productUpdates the Verisign Trust Service product to
enable or disable the VeriSign Trust Seal and/or the VeriSign
Search-in-Seal.
Incremented version to 3.5.

970

September 23, 2010


Added information about .AU domains, which are now available as part of
the Tucows Domain Service.
July 20, 2010
.CO GA begins July 20, 2010.
Added parameter no_cache to lookup (domain) command and added
parameter no_cache_tlds to name_suggest (domain) command. These
parameters cause the command to query the applicable registry rather
than the OpenSRS cache.
June 18, 2010
Added information about submitting orders for .CO landrush and GA

preorders.
Added French to the list of available languages for name_suggest
command.
Incremented version to 3.4.2.

March 31, 2010


Added the following parameters to sw_register for .CO Sunrise
applications:
legal_typethe capacity of the .CO sunrise applicant.
sunrise_pvrcPre-Validation Registration Code that indicates that
the trademark is valid.
trademark_country2 character code of the country where the
trademark is registered.
trademark_namename under which the trademark is registered.
trademark_numbertrademark registration or serial number.

Incremented version to 3.4.1.

971

March 5, 2010
The name_suggest domain command has been enhanced to allow you to:
Search for personal names.
Specify the language (English, German, Italian, and Spanish) in
which to return suggestions for other similar names
Specify the number of seconds that the command can run, and
return as many results as can be found in that time period.
Resubmit a previously run name_suggest command if the
command did not return complete results during the specified
max_wait_time.
Deprecated the name_suggest (surname) command.
There is a new command called create_reseller which creates a new
Reseller account; however, this command is disabled by default. To be

enabled for this command, contact reseller.support@tucows.com.


Incremented the version to 3.4.

January 23, 2010


As of January 23, 2010, .ORG supports IDNs for Simplified Chinese and
Traditional Chinese.
December 3, 2009
As of December 10, 2009, .EU supports IDNs
November 7, 2009
Internationalized Domain Name (IDN) are now supported for .NAME
domains.
November 3, 2009
Added the following parameters to sw_register:
cwaindicates where the Registrar can change the Organization
or Admin Contact information for the domain without submitting
the request to the registry (CIRA) for processing.
rant_agreesindicates whether the registrant has read and agrees
with the CIRA Registrant Agreement. If rant_agrees = 1,
registration is processed immediately, and the confirmation email
is not sent.

972

October 8, 2009
Added six new commands for enabling and configuring the DNS service:
create_dns_zone enables the DNS service for a domain
delete_dns_zone deletes the DNS zones defined for the specified
domain
force_dns_nameservers changes the nameservers on your domain
to use the DNS nameservers
get_dns_zone allows you to view the ENS records for a specified
domain
reset_dns_zone sets the DNS zone to the values in the specified
template
set_dns_zone sets the records for a domains DNS zone.
Added four new commands for domain forwarding:
create_domain_forwarding allows you to redirect visitors to
another website
delete_domain_forwarding deletes domain forwarding settings
get_domain_forwarding queries the domain forwarding settings for
a specified domain
set_domain_forwarding changes the domain forwarding settings
for a domain
Added a new parameter to the sw_register command called
dns_template, which allows you to specify the name of the DNS template
that you want to use to enable DNS and assign initial DNS records
August 6, 2009
OpenSRS allows you to operate your own network of domain name
Resellers. Sub-Resellers operate very much like any other OpenSRS
Reseller; however, you are considered to be the parent Reseller for your
Sub-Resellers. You set the pricing plans for them, and you earn
commissions on the domains that they sell. See the Sub-Reseller
Commands section for the related API commands.
March 17, 2009
Added two new search parameters for the get_transfer_in command:
order_id and transfer_id. Also, transfer_id is now included in the

response.
For the sw_register command when reg_type=transfer, transfer_id is
now included in the response.

February 27, 2009


For Personal Names, the forward_only email account type has been
deprecated and replaced by the webmail_only account type (no
IMAP/POP/SMTP). This change affects the su_register surname and
update surname commands.
973

February 10, 2009


Added skip_registry_lookup parameter to name_suggest (domain) API.
This parameter specifies whether to query the applicable registries to find

out if the lookup domain names are available for registration.


Added transfer_away_in_progress attribute to response for get domain
API when type = status. This attribute indicates that the domain is in the
process of being transferred away.

January 29, 2009


Added a note to the sw_register section that, for .TEL, the
custom_nameservers value should be 0 and any nameservers submitted
for .TEL will be ignored.
January 20, 2009
Added rsp2rsp_push_transfer command, which transfers multiple
domains from one Reseller to another Reseller.
Added update_contacts command, which submits a domain-contact
information update to the OpenSRS system.
November 10, 2008
Added premium_price_to_verify parameter to the sw_register
request parameters. This parameter submits the premium domain
price and verifies that it is the same as the list price.
October 7, 2008
.UK registrations are now synchronous, which means that you can register
and make changes to .UK domain names in real time, and you get an
immediate response to your requests.
September 23, 2008
Added an example to the modify domain section for .CA when data =
contact_info , as this domain accepts some additional address attributes
(addr_office, addr_address_number, addr_street_name,
addr_street_cat, and addr_orientation).
July 28, 2008
Rebranded guide, replacing 'Tucows' with 'OpenSRS'.
July 17, 2008
Added information about .ME domains, which are available as part of
the Tucows Domain Service beginning on July 17, 2008.
July 8, 2008
The submit bulk_change command can now be used to submit the
following bulk change requests: check availability, domain lock/unlock,
renewals, nameserver modification, contact changes, enable/disable
Parked Pages, enable WHOIS Privacy, and push domains to another
Reseller account.
974

June 10, 2008


When you register a .CA domain using the sw_register
command, you can use the ca_link_domain parameter to link to
an existing CIRA profile only if the associated domain is
registered with Tucows.
March 17, 2008
Added information about .ASIA domains, which will be available as
part of the Tucows Domain Service beginning on March 26th, 2008.
February 19, 2008

Added API commands that support the Tucows Personal Names Service.
The service allows you to offer your customers web and email addresses
based on Tucows extensive portfolio of surnames, for example,
adam.robinson.net. The new commands include:
NAME_SUGGEST SURNAME, which checks whether a
specified Personal Names domain, (firstname lastname) is
available for registration.
SU_REGISTER SURNAME, which submits a new registration
order for an available Personal Names domain.
UPDATE SURNAME, which changes properties of the domain.

DELETE SURNAME, which deletes the Personal Names domain.


Incremented document version to 3.0.

January 31, 2008


Split the OpenSRS API Specification into two versions: one with
information about Perl API commands and the Reseller Client Library
(RCL), and one with information about XML API commands and XML
over HTTPS Post.
January 19, 2008
The sw_register command now returns a list of the pending orders
that are cancelled by the successful registration of the domain.
November 17, 2007
Add the GET_NOTES command, which retrieves the domain notes that
detail the history of the domain, for example, renewals and transfers.
Added the GET_ORDERS_BY_DOMAIN command, which retrieves
information about orders placed for a specific domain.
Added new parameter 'transfer_notes' to GET_ORDER_INFO command.
Updated the LOOKUP_DOMAIN command. Removed the deprecated
'match' parameter from examples and added explanation of
'email_available' response parameter, which only applies to .NAME
TLDs.

975

August 31, 2007


Added XML and Perl examples for registering and transferring .DE
domains (SW_REGISTER command).
August 21, 2007
Deprecated the CHANGE_WP_EXPIRY_DATE command. WHOIS Privacy is
now a free service and does not have an expiry date. If this command is
part of your current integration, it will continue to work; however, the
resulting expiry date will be ignored.
When the 'data' parameter for MODIFY (DOMAIN) is set to
'whois_privacy_state', the 'state' parameter can be used to disable
or re-enable WHOIS Privacy but only if WHOIS Privacy was
previously implemented for the domain.
July 24, 2007
Added the GET_TRANSFERS_IN command, which returns a list of domains
that were transferred in to a Resellers' profile.
Added the GET_BALANCE command, which returns the account balance
and on hold balance.
Added 'limit' parameter to the GET_DOMAIN command.
June 19, 2007
You can now search for and purchase domain names from external (nonTucows) suppliers. Added premium to NAME_SUGGEST and
SW_REGISTER commands.
March 15, 2007
Reformatted guide.
January 4, 2007
Added redirect_url parameter to SET COOKIE command, which is a
parameter that is returned for domains registered by TUCOWSpark
Program.
October 31, 2006
Added NAME_SUGGEST command, which checks whether a
specified name, word, or phrase is available for registration in
gTLDs and ccTLDs, suggests other similar domain names for .COM,
.NET, .ORG, .INFO, and .BIZ domains, and checks whether they are
available.

976

September 19, 2006


Removed .MOBI Sunrise information from SW_Register command section.
.MOBI landrush registrations are offered from 26 September 2006 to 10
October 2006; General Availability begins on 11 October 2006.
Updated the GET_DOMAIN command when type = whois_privacy_state
to return the parameter expiry_date displaying the expiry date for
WHOIS Privacy.
Updated the GET_DOMAIN command when type = list to return
parameter wp_service indicating whether WHOIS Privacy is enabled, and
wp_expiredate displaying either the WHOIS Privacy expiry date or 0 if
WHOIS Privacy is not enabled.
August 22, 2006
Incremented document version to 2.9.6.
Added auth_info parameter to SW_Register.
July 13, 2006
Added the "GET_DOMAINS_CONTACTS" command, which allows you to

submit a list of domains and have the full contact information returned.
Added the "TRADE_DOMAIN" command, which transfers ownership of a
.EU or .BE domain name from one registrant to another.

June 9, 2006
Added examples for .BE and .EU transfers, which use the SW_REGISTER
command.
May 23, 2006
Updated section on .BE and .EU registrations in the SW Register command
to indicate that during a transfer, contact changes will only be accepted for
'owner name' and 'organization'.
May 15, 2006
The sunrise period for the .MOBI TLD is open from 22 May 2006 to 29
May 2006 for members of specific mobile associations. Trademark holders
who are not members of the designated mobile associations may submit
sunrise applications from 12 June 2006 - 21 August 2006. The SW
Register command has been updated to support .MOBI Sunrise
applications.

977

May

2, 2006
The 'change_contact' parameter in the SW Register command can now
be used to change contact information for .UK/.US/.BIZ/.INFO/.ORG
domains during a transfer or after transfer completion.
To remove the expiration date for WHOIS Privacy, submit the Change
WHOIS Privacy Expiry Date command leaving the day, month, and year
parameters blank.
Updated the Get Domain command when 'type' = 'status' to return
parameter 'parkp_status', indicating whether the domain is enabled for
Parked Pages service.
Individual .EU domain registrants can keep their name private in the
WHOIS record by leaving the 'owner' 'org_name' field blank when
submitting the SW Register command.
Added parameters 'registry_updatedate', 'registry_expiredate',
'registry_createdate', and 'registry_transferdate' to the Get Domain
command.

April 26, 2006


Updated the Get Domain command when 'type' = 'status' to return
parameter 'auctionescrow' = '1' when the domain is in auction escrow.
April 6, 2006
Removed .EU Sunrise information. OpenSRS closes for .EU Sunrise
applications at 6 p.m. EST, April 6, 2006.
March 28, 2006
Incremented document version to 2.9.5.
As of April 7, 2006, the .EU TLD is publicly available and the .EU
Sunrise period ends. Parameters supporting .EU Sunrise will be removed
from the SW Register command. Registration and management of
.EU domains is done in the same way as for gTLDs. Parked Pages
service includes .EU TLDs.
In order to allow Resellers time to sign up to offer .EU and begin
promoting this TLD to their customers, Tucows will accept registration
applications on April 1, 2006. Applications received between April 1 and
April 6, 2006 will be queued, and submitted to the .EU Registry on April
7, 2006.
Change of ownership and transfer functionality for .EU domains will be
available late May 2006.
On April 1, 2006, .BE will be handled in the same way as gTLDs and will
be removed from the "Update All Info" command.

978

February 9, 2006
Updated the "Modify Domain" command to include the value

"parkpage_state" for the "data" parameter. This variation of the "Modify


Domain" command allows you to enable or disable the Parked
Pages service for a specified domain.

January 31, 2006


Updated the SW Register Domain command and the Renew Domain
command to enable the Parked Pages service for the following TLDs:

.COM, .NET, .ORG, .INFO, .BIZ, and .NAME.


Updated the Change WHOIS Privacy Expiry Date command to indicate
that in order to cancel WHOIS Privacy and stop billing charges, you must
expire the service, i.e., change its expiration date to the following day or
sometime in the upcoming month.
Deprecated the "Modify Domain" command where "type" =
"nameserver_list"; the "Advanced Update Nameservers" command should
be used instead. Other variations of the Modify Domain command
continue to work.

January 16, 2006


Updated the Get Domain command to include the value
"xpack_waiting_history" for the "type" parameter. When "type" =
"xpack_waiting_history", the state of completed/cancelled requests for
the CC TLDs AT, IT, BE, FR, NL, and CH is returned. Examples were also
added.

Updated Change Ownership command to clarify move_all parameter.

January 6, 2006
Updated the Get Domain command to provide examples of request and
response to identify WHOIS privacy record.
December 7, 2005
Updated the SW Register Domain command to support .EU TLD Sunrise
requests.
November 29, 2005
Incremented document version to 2.9.4.
Domain status to be checked at the Registry to ensure that a domain
transfer is not pending. This restriction prevents a transfer of domain
between Resellers when a transfer between Registrars is in progress.
Updated response example for Get Order Info command to reflect that all
notes are returned.
979

November 15, 2005


The Technical contact is no longer required or accepted for.uk
registrations. OpenSRS will continue to store technical contact
information for existing .uk registrations but technical information no

longer will be forwarded. The Technical contact fields have been removed.
Clarified which TLDs are supported by the Bulk Change Request API.

November 4, 2005
Revised tld_data description to indicate that it is only used for .NAME and
.US domains.
September 12, 2005
Incremented document version to 2.9.3.
Pending orders older than 30 days, and with 30 days of inactivity, will be
cancelled automatically.
The Renew Domain command now returns the admin_email parameter,
which contains the email address of the domains administrative contact.
German IDNs for .INFO now supported.
July 23, 2005
Incremented document version to 2.9.2.
IDN conversion for .ORG, for nine languages is now supported. See
Encoding Types for IDNs for more information.
June 20, 2005
Incremented document version to 2.9.1.
Added the "Bulk Purchase WHOIS Privacy" command, which enables the
purchase of WHOIS Privacy for multiple domains.
May 12, 2005
Updated the "SW Register Domain" command to include the
"custom_transfer_nameservers" attribute, which allows you to specify
whether to use the nameservers provided in the request or keep the
domain's existing nameservers when transferring a domain.

980

May 5, 2005
All changes posted for this date have been promoted to the Horizon

environment, and will be promoted to live on May 12, 2005.


Incremented document version to 2.9.0.
Added new command "Advanced Update Nameservers" which allows you
to assign, add, or remove nameservers for a domain.
Added new command "CIRA Send Approval Email", which resends the
CIRA registration approval email message to the domain's contact.
Added new command "Cancel Pending or Declined order".
Updated the "Check Domain Transfer" command to include the
"check_status" attribute in the request. When "status" is submitted, and
the transfer state is returned as 'pending_registry' and the Registry
shows Tucows as the Registrar of record, OpenSRS will initiate the
completion of .UK transfers, or schedule the completion of gTLD transfers.
Updated the "Get Domains by Expire Date" command to return the
remainder field which indicates the number of expired domains not
listed in the response.
Added WHOIS Privacy feature, and as a result, the following additions
and updates have been made.
Updated "SW Register Domain" command to include "f_whois_privacy"
attribute, which allows you to order WHOIS Privacy when registering a
new domain.
Updated "SW Register Domain" command to include value 'whois_privacy'
for "reg_type" attribute, which allows you to order WHOIS Privacy for an
existing domain.
Updated "Get Domain" command to include value 'whois_privacy_state'
for "type" attribute, which returns the WHOIS Privacy state for a domain
(e.g. enabled, pending, or disabled for WHOIS Privacy).
Updated "Modify Domain" command to include value
'whois_privacy_state' for "type" attribute, which allows you change the
state of WHOIS Privacy from enabled to disabled.
Added command "Change WHOIS Privacy Expiry Date", which allows you
to change the expiry date for WHOIS Privacy.

April 18, 2005


Revised description of the "status" parameter in the "Check Domain
Transfer" command. The "status" parameter is only returned if
the requested domain is not transferable.
Added section "Data Formats and Constraints for Contact Fields" section,
which describes the data requirements for contacts for EPP Registries,
.CA, .DE, .UK, and the default contact requirements.
Replaced example for .CA for SW_Register command.
981

April 7, 2005
Added "Get .CA Blocker List" command.
March 30, 2005
Added .IT, .AT, and .BE TLDs to the "Update All Info" command.
January 27, 2005
Added new command, "Cancel .CA Order". Use this command to update

the status of a .CA order with OpenSRS when it has already been
cancelled at CIRA.
Added new command, "Get Deleted Domains". Use this command to get a
list of domains deleted from your profile.
Added new command, "Get Transferred-Away Domains". Use this
command to get a list of domains transferred-away from your profile.
Updated Renew Domain command to include "forced_pending" attribute,
which is returned when domain cannot be renewed due to insufficient
funds.

January 15, 2005


"Update All Info" command now supports submission of a domain
information update for .CH, .FR, and .NL TLDs.
December 9, 2004
"Update All Info" command now supports submission of a domaininformation update for .CC and .TV TLDs.
Revised "Get Domain Price" and "Lookup Domain" commands to indicate
that premium .TV domains must be requested through www.tv
Added 'trademark' value to 'type' parameter in "Get Domain" command.
October 5, 2004
Added "Update All Info" command.
Added parameter "domain" to the "Cancel Transfer" command, which can

be used instead of "order_id" to identify which transfer to cancel.


Added command "Get Expiring Domains" which is used to retrieve a list of
domains that will expire during a specified period.

September 16, 2004


Replaced examples for "Cancel Transfer" command; previous examples

were incorrect.
Added examples for "Modify Domain" when 'data' = 'descr'.

982

August 30, 2004


Added error "350 Number of commands per connection exceeded limit"
to list of errors in "Temporary Failures or Deferrals" section in Appendix

B.
Added error message and description of known issue where registrations
time-out. Error added to "Temporary Failures or Deferrals" section in
Appendix B.
Added "move_all" attribute to "Change Ownership" command.

August 18, 2004


Added command "Submit Bulk Change", which enables changing
information associated with a large set of domains. Bulk changes can be
used to change domain lock state, domain nameservers, and domain
contacts.
July 20, 2004
Changed obligation of request attribute url to optional in sw_register

Domain command.
Added attribute "forced_pending" to the "SW Register Domain" command.
This attribute is returned if the order was forced to pending status (e.g.
due to insufficient funds, domain already taken, etc.).

June 22, 2004


Changed obligation of request attribute tld to required in Check
Nameserver command.

983

May 3, 2004
Replaced response attribute waiting_request with
waiting_requests_no. The waiting_request attribute has been

deprecated, but is still available for backward compatibility.


Added two values for data attribute in Modify Domain command, both
used with .UK domains:
data = change_ips_tag Changes a domain's Domain Tag for
transfers between registrars.
data = uk_whois_opt Allows individuals to specify that their
personal information not be returned with a WHOIS of their .UK
domain.
Added parameters get_request_address and request_address to the
Check Domain Transfer command.
Added new command Query Status of Queued Request. This command
returns the details of the original order and the date that the order was
queued.
Added new command Get Order Info. This command queries all the
information on an order ID, but does not return sensitive information (i.e.
username, password, and auth code).
Moved Customizing the Transfer Approval URL section to Appendix F.

April 14, 2004


Changed allowed values of encoding_type parameter to adhere to

Verisign's new Punycode encoding format for the


registration/management of IDN's.
Deprecated encoding_type attribute for nameserver related commands
and all responses where it was previously returned.

February 18, 2004


Revised definition of encoding_type (occurs in several commands).
January 14, 2004
Added new section CBC Authentication Commands and moved Check
Version, Authenticate User, and Quit Session commands to this new

section.
Added new command Check Nameserver which verifies if a nameserver
exists at a particular registry.

January 9, 2004
Added parameter order_id to Renew Domain response.
Added parameter add_to_all_registry to Create Nameserver
command.
984

January 6, 2004
Added section Registry Errors to Appendix B.
Changed document version number to '2.8.0' in order to be consistently
numbered with other OpenSRS products, namely the Reseller Client
Library.
Corrected response examples and description of f_auto_renew_ in
Process Pending Order command.
December 10, 2003
Revised descriptions of Process Transfer and Process Pending Order.
Replaced XML request example for Modify Domain.
Replaced Perl and XML examples for all = '1' for Add Nameservers.
Corrected Allowed Values definitions for registry_name in Add
Nameservers command.
November 11, 2003
Made further corrections to the descriptions and allowed values of the
rant_no and ca_link_domain attributes in the sw_register Domain
command.
November 5, 2003
Made corrections to Process Pending Order command.
Made corrections to the descriptions and allowed values of the rant_no
and ca_link_domain attributes in the sw_register Domain command.
October 29, 2003
Implemented document versioning system, whereby version number
changed to 2.1.9. This is the starting number for the new versioning
system and does not indicate any major changes to the documentation on
the product. Future version number changes will indicate a change.
October 8, 2003
Added optional command=>cancel attribute to the Process Pending

Order command.
Added command Process Transfer which allows the client to resubmit
failed transfers.
Added command Cancel Transfer which allows the client to cancel
transfers that are pending owner approval.

September 15, 2003


Reorganized Get Domain section.

985

September 12, 2003


Reorganized Modify Domain section.
Removed Buy Web Cert command as it's no longer functional and has
been replaced with TPP Certs functionality.
September 10, 2003
Added several XML examples throughout document.
Changed 'Revoke Domain' to 'Refund Domain'.
August 28, 2003
Added Revoke Domain.
August 12, 2003
Corrected CIRA E-mail Password.
July

22, 2003
Added CIRA E-mail Password.
Updated 'timestamp' description for Check Domain Transfer.
Updated 'currentexpirationyear' description for Renew Domain.

July , 2003
Updated description of 'custom_nameservers' attribute for SW_Register
Domain
July 3, 2003
Removed 'bulk_order' from sw_register examples
Updated info re: the 'remainder' attribute for Get Domain
May 26, 2003
Added response value 'request_address' in Check Domain Transfer
Updated Modify Domain with information regarding the modification of
owner contacts for dot.de domains.
Added hostname and port information in Appendix C Writing Your Own
Client.
Updated information for the following commands:
Add Nameserver NEW
Process Pending Order NEW
April 9, 2003
Updated information for the following commands:
Activate Domain - NEW
Belongs_to_RSP Domain - NEW
Get Domain
Get User Info
986

February 24, 2003


Updated information for response value 'timestamp' in the "Check Domain
Transfer" section.
December 16, 2002
Updated information in the 'Get Domain' section.
December 3, 2002
Updated information in send password > domain command
documentation.
October 29, 2002
ipaddress key in attributes hash ('Modify Nameserver' section) is no

longer marked as being optional.


New subsection has been added for data = rsp_whois_info ("Modify
Domain" section).
Type stated for price key has been changed to Float ('Get Domain
Price' section).

June 11, 2002


Protocol commands have been placed in alphabetical order
SW_Register has been completely rewritten and is in a new format. XML
& PERL examples have been added.
April 18, 2002
Added .US information to get_domain
Added .US information to modify_domain
Clarified domain locking information
March 21, 2002
Added domain locking information to get_domain
Added domain locking information to modify_domain
February 13, 2002
Rewrite of the sw_register command. Added .us specific information.
Added pre_reg to attributes hash in SW register.
Added pre_reg to attributes hash in Domain_Lookup
January 28, 2002
Fixed error in documentation of Check Domain Transfer in section 8.6.
January 21, 2002
Added new attribute type handle to bulk_transfer
Added admin contact_set to sw_register
987

January 14, 2002


Added new attribute type email_bundle to sw_register
Added new attribute type forwarding_email to sw_register
September 13, 2001
Added new attribute type auto_renew_flag to GET_DOMAIN
August 17, 2001
Added .ca to the list of TLDs included in RENEW_DOMAIN
June 26, 2001
Added additional attribute "landrush" to SW_REGISTER_DOMAIN to

support the new .info TLD


Added additional attribute "ticket" to SW_REGISTER_DOMAIN to support
the new .biz TLD.

June 19, 2001


Added additional attributes "status", "timestamp" and "unixtime" to
response from DOMAIN:CHECK_TRANSFER (to support new Transfer
functionality)
Added note about "transferable", "reason" and "status" fields after
Response Message table in CHECK_TRANSFER
Added details about customizing the transfer approval URL
Updated the REGISTER_DOMAIN info to indicate that it has deprecated
and is now mapped to SW_REGISTER_DOMAIN
Added additional attribute "trademark_ascii" to SW_REGISTER_DOMAIN
to support the new .info gTLD
Added additional attribute "trademark_regno" to SW_REGISTER_DOMAIN
to support new .info gTLD
Added additional attribute "registration_country" to
SW_REGISTER_DOMAIN to support new .info gTLD
Added additional attribute "registration_date" to SW_REGISTER_DOMAIN
to support new .info gTLD
Updated the section "Contact Information Fields" to reflect requirements
of the new .info gTLD
April 10, 2001
Switched RACE to UTF-8. The default encoding_type is "UTF-8".

988

January 25, 2001


Added new command DOMAIN:GET_PRICE to support .TV domains
Added additional attribute "price" to response from DOMAIN:GET_PRICE
(to support .TV domains)
Added additional attribute "price_status" to response from
DOMAIN:LOOKUP (to support .TV domains)
Added additional attributes "upg_to_subdomain", "reason", and "status"
to response from DOMAIN:LOOKUP to support .CA domains

989

Das könnte Ihnen auch gefallen