6 ======= |
6 ======= |
7 |
7 |
8 Requests to the DMAPI (Domain Management API) are simply HTTP POST (or GET) |
8 Requests to the DMAPI (Domain Management API) are simply HTTP POST (or GET) |
9 requests. |
9 requests. |
10 |
10 |
11 NOTE: Only SSL version 3 (or TLS v1) is supported, clients using |
11 NOTE: Only TLS is supported! |
12 SSLv2 may (and most probably will) not work! |
|
13 |
12 |
14 The request parameters are passed as standard www-form variables, URL |
13 The request parameters are passed as standard www-form variables, URL |
15 encoded, i.e. example for login request: |
14 encoded, i.e. example for login request: |
16 |
15 |
17 https://dmapi.joker.com/request/login?username=user@joker.com&password=pass |
16 https://dmapi.joker.com/request/login?username=user@joker.com&password=pass |
86 In request descriptions below, "Requires" section defines variables |
85 In request descriptions below, "Requires" section defines variables |
87 (sometimes referred as fields) that MUST be present, "Accepts" |
86 (sometimes referred as fields) that MUST be present, "Accepts" |
88 section defines variables that MAY be present (but not required), |
87 section defines variables that MAY be present (but not required), |
89 and "Returns" section describes request output - header fields and |
88 and "Returns" section describes request output - header fields and |
90 extra data (if any). If "Returns" is omitted, then standard reply |
89 extra data (if any). If "Returns" is omitted, then standard reply |
91 should be expected (Status-Code, Status-Text, Proc-ID etc). |
90 should be expected (Status-Code, Status-Text, Proc-ID etc.). |
92 |
91 |
93 All variable and request names are case-insensitive. |
92 All variable and request names are case-insensitive. |
94 |
93 |
95 Differences to existing email-gateway |
94 Differences to existing email-gateway |
96 ===================================== |
95 ===================================== |
162 =========== |
161 =========== |
163 |
162 |
164 Accepts: |
163 Accepts: |
165 pending Shows results without reply (in progress) |
164 pending Shows results without reply (in progress) |
166 showall Shows results deleted using result-delete |
165 showall Shows results deleted using result-delete |
167 period Shows results for specifed period of days (default 90) |
166 period Shows results for specified period of days (default 90) |
168 date Shows results received on (or before) specified date. |
167 date Shows results received on (or before) specified date. |
169 When date is specified, parameter "period" will be |
168 When date is specified, parameter "period" will be |
170 applied to this date (instead of today) and defaults |
169 applied to this date (instead of today) and defaults |
171 to 1. |
170 to 1. |
172 offset Start dispalying results from specified position |
171 offset Start displaying results from specified position |
173 limit Sets limit for number of rows displayed |
172 limit Sets limit for number of rows displayed |
174 |
173 |
175 status Shows results having specified status (ack/nack/?) |
174 status Shows results having specified status (ack/nack/?) |
176 count-only When set to 1, only count number of records and return |
175 count-only When set to 1, only count number of records and return |
177 single line in format "Records: N". |
176 single line in format "Records: N". |
181 rtype Shows results for requests of specified type |
180 rtype Shows results for requests of specified type |
182 (domain-register/etc) |
181 (domain-register/etc) |
183 objid Shows results for specified object ids (domain names |
182 objid Shows results for specified object ids (domain names |
184 and so on) |
183 and so on) |
185 procid Shows results for specified proc-id |
184 procid Shows results for specified proc-id |
186 svtrid Shows results for specifued SvTrId |
185 svtrid Shows results for specified SvTrId |
187 cltrid Shows results for specified ClTrId |
186 cltrid Shows results for specified ClTrId |
188 |
187 |
189 Returns: |
188 Returns: |
190 List of answers from joker.com (one per line): |
189 List of answers from joker.com (one per line): |
191 |
190 |
250 may be 0 or 1. |
249 may be 0 or 1. |
251 |
250 |
252 Returns: |
251 Returns: |
253 |
252 |
254 List of registered domains and their expiration dates (one |
253 List of registered domains and their expiration dates (one |
255 per line, separated by whitespace). If "showstatus" is present, |
254 per line, separated by white-space). If "showstatus" is present, |
256 the the list will be with three columns, the last one showing |
255 the the list will be with three columns, the last one showing |
257 domain status (like "lock,autorenew" etc - comma separated). |
256 domain status (like "lock,autorenew" etc - comma separated). |
258 |
257 |
259 query-contact-list |
258 query-contact-list |
260 ================== |
259 ================== |
284 Accepts: |
283 Accepts: |
285 pattern Pattern to match (against host name) |
284 pattern Pattern to match (against host name) |
286 full Include IPs if non-zero |
285 full Include IPs if non-zero |
287 |
286 |
288 Returns: |
287 Returns: |
289 List of registered name servers, one perl line |
288 List of registered name servers, one per line |
290 If "full" is non-zero, then the list will include IP addresses, |
289 If "full" is non-zero, then the list will include IP addresses, |
291 IPv4 (2nd column) and IPv6 (3rd column), columns will be separated |
290 IPv4 (2nd column) and IPv6 (3rd column), columns will be separated |
292 by tab ("\t") character. If specific IP is not present (say, there |
291 by tab ("\t") character. If specific IP is not present (say, there |
293 is only IPv4 or IPv6), it will be listed as "-". |
292 is only IPv4 or IPv6), it will be listed as "-". |
294 |
293 |
358 address-2 (opt) |
357 address-2 (opt) |
359 city |
358 city |
360 state (opt) |
359 state (opt) |
361 postal-code |
360 postal-code |
362 country ISO country code (2 letters) |
361 country ISO country code (2 letters) |
363 phone |
362 phone Phone number |
364 fax (opt) |
363 fax Fax number (opt) |
365 lang (only meaningful for .EU contacts) |
364 lang (only meaningful for .EU contacts) |
366 app-purpose (required for .US contacts) |
365 app-purpose (required for .US contacts) |
367 nexus-category (required for .US contacts) |
366 nexus-category (required for .US contacts) |
368 nexus-category-country (required for .US contacts) |
367 nexus-category-country (required for .US contacts) |
369 account-type (required for .UK contacts, if used as owner contact) |
368 account-type (required for .UK contacts, if used as owner contact) |
480 ip IPv4 address (must not be from IANA's reserved range) |
479 ip IPv4 address (must not be from IANA's reserved range) |
481 ipv6 IPv6 address |
480 ipv6 IPv6 address |
482 |
481 |
483 Using this request you can modify the IP address of a registered |
482 Using this request you can modify the IP address of a registered |
484 nameserver. |
483 nameserver. |
485 |
484 |
|
485 "-" may be used to specify empty value for "ip" or "ipv6", but at least one |
|
486 of IP addressses must be set to valid address, or the request will fail. |
|
487 |
|
488 |
486 ns-delete, host-delete |
489 ns-delete, host-delete |
487 ====================== |
490 ====================== |
488 |
491 |
489 Requires: |
492 Requires: |
490 host FQDN host name |
493 host FQDN host name |
506 |
509 |
507 Accepts: |
510 Accepts: |
508 autorenew If set to "1", domain will be autorenewed upon |
511 autorenew If set to "1", domain will be autorenewed upon |
509 expiration. |
512 expiration. |
510 language 3 letter language code for IDN domains |
513 language 3 letter language code for IDN domains |
511 registrar-tag Ragistrar tag, also known as "Membership token", |
514 registrar-tag Registrar tag, also known as "Membership token", |
512 only meaningful for .XXX domains |
515 only meaningful for .XXX domains |
513 |
516 |
514 |
517 |
515 Using this request you can register the domain. |
518 Using this request you can register the domain. |
516 |
519 |
552 |
555 |
553 Accepts: |
556 Accepts: |
554 status New domain status |
557 status New domain status |
555 owner-c New owner contact handle |
558 owner-c New owner contact handle |
556 autorenew Autorenew flag for the domain (0 or 1). |
559 autorenew Autorenew flag for the domain (0 or 1). |
557 If not set explicity, defaults to 1. |
560 If not set explicitly, defaults to 1. |
558 ns-list List of colon-separated nameservers. |
561 ns-list List of colon-separated name-servers. |
559 owner-email New owner email |
562 owner-email New owner email |
560 |
563 |
561 Using this request you can initiate a transfer of the domain from |
564 Using this request you can initiate a transfer of the domain from |
562 another registrar to Joker.com (gaining or incoming transfer). |
565 another registrar to Joker.com (gaining or incoming transfer). |
563 |
566 |
570 =========================== |
573 =========================== |
571 |
574 |
572 Requires: |
575 Requires: |
573 domain Domain name to get auth id for |
576 domain Domain name to get auth id for |
574 |
577 |
575 Retrieves domain Auth-ID, which is required when transfering domains |
578 Retrieves domain Auth-ID, which is required when transferring domains |
576 to another registrar. |
579 to another registrar. |
577 |
580 |
578 This request is not real-time, i.e. you have to check detailed reply |
581 This request is not real-time, i.e. you have to check detailed reply |
579 (use "result-retrieve") to get Auth-ID. |
582 (use "result-retrieve") to get Auth-ID. |
580 |
583 |
589 |
592 |
590 Accepts: |
593 Accepts: |
591 billing-c New billing contact handle |
594 billing-c New billing contact handle |
592 admin-c New administrative contact handle |
595 admin-c New administrative contact handle |
593 tech-c New technical contact handle |
596 tech-c New technical contact handle |
594 ns-list List of new nameservers (it will _replace_ |
597 ns-list List of new name-servers (it will _replace_ |
595 existing nameservers!) |
598 existing name-servers!) |
596 registrar-tag Ragistrar tag, also known as "Membership token", |
599 registrar-tag Registrar tag, also known as "Membership token", |
597 which can be set/changed on .XXX domains |
600 which can be set/changed on .XXX domains |
598 |
601 |
599 dnssec If specified, allows setting or removal of DNSSEC |
602 dnssec If specified, allows setting or removal of DNSSEC |
600 keys for domain. If not specified, DNSSEC records |
603 keys for domain. If not specified, DNSSEC records |
601 will not be changed. |
604 will not be changed. |
608 ds-4 For de: |
611 ds-4 For de: |
609 ds-5 protocol:alg:flags:pubkey-base64 |
612 ds-5 protocol:alg:flags:pubkey-base64 |
610 ds-6 |
613 ds-6 |
611 |
614 |
612 Using this request you can modify contact handles for the domain, |
615 Using this request you can modify contact handles for the domain, |
613 list of nameservers or DNSSEC parameters (for DNSSEC enabled domains). |
616 list of name-servers or DNSSEC parameters (for DNSSEC enabled domains). |
614 |
617 |
615 If specific value is not present, it will not be touched. Modification |
618 If specific value is not present, it will not be touched. Modification |
616 of nameservers or DNSSEC parameters will replace currently defined set |
619 of name-servers or DNSSEC parameters will replace currently defined set |
617 of DNSSEC keys or nameservers. |
620 of DNSSEC keys or name-servers. |
618 |
621 |
619 NOTE: DNSSEC parameters (ds-N) must be specified in order (ds-1, ds-2 etc), |
622 NOTE: DNSSEC parameters (ds-N) must be specified in order (ds-1, ds-2 etc), |
620 and due to techinical limitations this is impossible to modify only specific |
623 and due to technical limitations this is impossible to modify only specific |
621 key - they must be set all at once. This means that any request to modify DNSSEC |
624 key - they must be set all at once. This means that any request to modify DNSSEC |
622 records will *replace* existing keys with only those which are provided! |
625 records will *replace* existing keys with only those which are provided! |
623 |
626 |
624 Example for adding one key (and enabling DNSSEC): |
627 Example for adding one key (and enabling DNSSEC): |
625 |
628 |
627 |
630 |
628 Example for removing DNSSEC information: |
631 Example for removing DNSSEC information: |
629 |
632 |
630 http://dmapi.joker.com/request/domain-modify?domain=example.com&dnssec=0 |
633 http://dmapi.joker.com/request/domain-modify?domain=example.com&dnssec=0 |
631 |
634 |
632 NOTE: You have to have your own nameservice somewhere else to support DNSSEC, |
635 NOTE: You have to have your own name-service somewhere else to support DNSSEC, |
633 if you use Joker.com nameservice, DNSSEC will not be provided! |
636 if you use Joker.com name-service, DNSSEC will not be provided! |
634 |
637 |
635 domain-delete |
638 domain-delete |
636 ============= |
639 ============= |
637 |
640 |
638 Requires: |
641 Requires: |
639 domain Domain name to delete |
642 domain Domain name to delete |
640 |
643 |
641 Accepts: |
644 Accepts: |
642 force If present and contains 1, Y or Yes, |
645 force If present and contains 1, Y or Yes, |
643 domain will be deleted even if older |
646 domain will be deleted even if older |
644 that 72 hours. |
647 that 3 days. |
645 type type of delete request, one of: |
648 type type of delete request, one of: |
646 endoflife, immediate, transit |
649 endoflife, immediate, transit |
647 |
650 |
648 |
651 Using this request you can delete already registered domain. |
649 Using this request you can delete the domain. |
652 |
650 |
653 If you delete a domain within the first 3 days after the registration, |
651 If you delete a domain within the first 72 hours after the |
654 the registration fee may be refunded to your account. |
652 registration, the registration-fee will be refunded to your account. |
655 |
653 |
656 To delete domain which is registered longer than 3 days, you must |
654 IMPORTANT: .EU domain registration is irreversible, i.e. you will NOT |
|
655 be refunded if you delete .EU domain even withing 72 hours after |
|
656 creation. |
|
657 |
|
658 To delete domain which is registered longer than 72 hours, you must |
|
659 specify "force=1", otherwise request will be rejected. |
657 specify "force=1", otherwise request will be rejected. |
|
658 |
|
659 IMPORTANT: Please note that this feature must not be used for "domain tasting" |
|
660 or "front running", and if you delete more than 1 domain per 12 registered |
|
661 per month, you will not be refunded! |
|
662 |
|
663 Deletion of domains in zones .eu, .nl, .me, .at, .de will not be refunded |
|
664 regardless of when it was deleted! |
660 |
665 |
661 domain-owner-change |
666 domain-owner-change |
662 =================== |
667 =================== |
663 |
668 |
664 Requires: |
669 Requires: |
819 domain Zone (domain) name to store data to. |
824 domain Zone (domain) name to store data to. |
820 zone URL encoded zone data |
825 zone URL encoded zone data |
821 |
826 |
822 Replace current zone for provided domain with specified value. |
827 Replace current zone for provided domain with specified value. |
823 |
828 |
824 Field "zone" will be parsed as multiline text (so usual line |
829 Field "zone" will be parsed as multi-line text (so usual line |
825 terminators are expected). |
830 terminators are expected). |
826 |
831 |
827 WARNING: this request will OVERWRITE current zone, i.e. all current |
832 WARNING: this request will OVERWRITE current zone, i.e. all current |
828 records will be replaced by new records. |
833 records will be replaced by new records. |
829 |
834 |
985 if the answer is "no", then verification status is set to "invalid". If there is no answer before |
990 if the answer is "no", then verification status is set to "invalid". If there is no answer before |
986 verification deadline (normally 15 days), the status is also set to "invalid". |
991 verification deadline (normally 15 days), the status is also set to "invalid". |
987 |
992 |
988 Returns special response header "Result", which will contain "ACK" if the verification has been |
993 Returns special response header "Result", which will contain "ACK" if the verification has been |
989 accepted or "NACK" otherwise. |
994 accepted or "NACK" otherwise. |
|
995 |
|
996 wa-email-query-status |
|
997 ===================== |
|
998 |
|
999 Requires: |
|
1000 |
|
1001 email Email address to query status of |
|
1002 |
|
1003 Returns single line with email status. Possible statuses: |
|
1004 |
|
1005 verified email address is known and successfully verified (valid) |
|
1006 unverified email address is either not (yet) verified or is not known. |
|
1007 pending verification email has been sent but no response received yet |
|
1008 invalid email address is known to be invalid (bounced or no response) |
|
1009 |
|
1010 Statuses "pending" and "invalid" are informational and are not guaranteed, |
|
1011 i.e. it could happen that "unverified" is returned instead. |
990 |
1012 |
991 ----- |
1013 ----- |