|
1 This is description of DMAPI, oriented mostly to experienced users. |
|
2 |
|
3 The description reflects interface version 1.2.* |
|
4 |
|
5 Basics: |
|
6 ======= |
|
7 |
|
8 Requests to the DMAPI (Domain Management API) are simply HTTP POST (or GET) |
|
9 requests. |
|
10 |
|
11 NOTE: Only SSL version 3 (or TLS v1) is supported, clients using |
|
12 SSLv2 may (and most probably will) not work! |
|
13 |
|
14 The request parameters are passed as standard www-form variables, URL |
|
15 encoded, i.e. example for login request: |
|
16 |
|
17 https://dmapi.joker.com/request/login?username=user@joker.com&password=pass |
|
18 |
|
19 Server responses are plain-text messages, with headers (MIME-like), followed |
|
20 by LF, followed by reply body, like this (response to login request): |
|
21 |
|
22 ---reply--- |
|
23 Auth-SID: <session-id> |
|
24 |
|
25 com |
|
26 net |
|
27 org |
|
28 ---reply--- |
|
29 |
|
30 This way, even web-browsers might be used to send requests and to |
|
31 read replies (may be useful for testing). |
|
32 |
|
33 Most common headers fields, returned by most requests: |
|
34 |
|
35 Tracking-Id: Unique server-assigned tracking id, assigned to almost all |
|
36 requests. Please include this Id (if present) in case if |
|
37 you are reporting problem related to failed request. |
|
38 Status-Code: Not 0 if error occurred |
|
39 Status-Text: Human-friendly error description |
|
40 Result: ACK or NACK |
|
41 Proc-ID: Joker.com processing ID, usually generated for all requests that |
|
42 modify or create objects (domains/contacts/nameservers). |
|
43 Account-Balance: |
|
44 Current reseller's account balance. Please note, that |
|
45 this value may be slightly outdated, and should be used |
|
46 only as a reference. |
|
47 |
|
48 Error: May be returned if (and only if) the request was rejected, |
|
49 in this case reason(s) will be provided. Presence of this |
|
50 line in headers is indicative that processing didn't take |
|
51 place. |
|
52 Warning: Indicative of non-fatal processing or validation problems. |
|
53 |
|
54 Columns: List of columns names, separated by comma (for list queries) |
|
55 If not present, see request description. |
|
56 Separator: List column separator (TAB is "\t", SPACE is " ") |
|
57 If not present, defaults to SPACE (or as specified in request) |
|
58 |
|
59 HTTP error codes: 200 if everything is OK (request was accepted and |
|
60 processed or queued for processing), otherwise the reason will be |
|
61 provided in Error header lines (or, if this is absent, HTTP error |
|
62 code should be used). |
|
63 |
|
64 NOTE: Regardless of HTTP error code, please examine response body, |
|
65 it may contain useful tips (in Error or Warning headers) why request |
|
66 failed. |
|
67 |
|
68 IMPORTANT: Every request (except login) *requires* presence of |
|
69 "auth-sid" parameter, which is returned by the "login" request. Active |
|
70 session will expire after some inactivity period (default 1 hour). |
|
71 |
|
72 Example: |
|
73 |
|
74 https://dmapi.joker.com/request/query-domain-list?auth-sid=20ddb8c3b2ea758dcf9fa4c7f46c0784 |
|
75 |
|
76 In case if you use a browser to access this interface, then session id |
|
77 will be send as a cookie, hence need not to be specified as Auth-Sid |
|
78 (unless cookies are not supported or turned off). In any case, |
|
79 "auth-sid" has precedence, if provided. |
|
80 |
|
81 NOTE: Session may become invalid due to various reasons, so please |
|
82 don't expect it to be valid forever. Instead, design your application |
|
83 in a way, that, if your request is rejected because of authorization |
|
84 failure, send "login" request again, and only if it fails, stop processing. |
|
85 |
|
86 In request descriptions below, "Requires" section defines variables |
|
87 (sometimes referred as fields) that MUST be present, "Accepts" |
|
88 section defines variables that MAY be present (but not required), |
|
89 and "Returns" section describes request output - header fields and |
|
90 extra data (if any). If "Returns" is omitted, then standard reply |
|
91 should be expected (Status-Code, Status-Text, Proc-ID etc). |
|
92 |
|
93 All variable and request names are case-insensitive. |
|
94 |
|
95 Differences to existing email-gateway |
|
96 ===================================== |
|
97 |
|
98 DMAPI only accepts pre-registered contact and name-server handles. |
|
99 It means that before you can register (or modify) domain, you MUST |
|
100 register all necessary contacts and name-servers. |
|
101 |
|
102 Unlike email interface, there is no differentiation in requests for |
|
103 different domain/contact types. |
|
104 |
|
105 Some requests are asynchronous, and acceptance of request by the |
|
106 DMAPI is not necessarily means that it is processed (or will be |
|
107 processed at all). The real reply (acknowledgement or refusal) will |
|
108 be stored on the server and can be retrieved later. To list |
|
109 available replies you should use requests "result-list", |
|
110 "result-retrieve" and "result-delete" periodically. |
|
111 |
|
112 NOTE: Not retrieved replies will be kept on the server for period of |
|
113 90 days, then only status of specific request will be available |
|
114 (success or failure). |
|
115 |
|
116 IMPORTANT: Please also note that registration/renewal period is in |
|
117 MONTHS, NOT YEARS! This is to allow future micro-registrations. |
|
118 |
|
119 DISCLAIMER |
|
120 ========== |
|
121 |
|
122 Please be aware, that, in some circumstances, your request might be |
|
123 refused, not processed or processed incorrectly (unlikely, but still |
|
124 possible). |
|
125 |
|
126 However, the DMAPI is supported feature, so your feedback is greatly |
|
127 appreciated. |
|
128 |
|
129 By using DMAPI, you agree to General Terms & Conditions of Joker.com: |
|
130 https://joker.com/index.joker?mode=page&page=agreement |
|
131 |
|
132 Requests, their parameters and return values |
|
133 ============================================ |
|
134 |
|
135 login |
|
136 ===== |
|
137 Requires: |
|
138 username Joker.com username |
|
139 password Joker.com password |
|
140 |
|
141 Returns: |
|
142 Auth-SID Authenticated Session ID, must be provided with any other request |
|
143 UID Joker user-id |
|
144 |
|
145 List of supported TLDs which reseller may register. |
|
146 |
|
147 Authenticates user to the system. |
|
148 |
|
149 To be able to use entire API, you must have reseller account in |
|
150 joker.com (and use this account to log in). |
|
151 |
|
152 logout |
|
153 ====== |
|
154 |
|
155 Returns: nothing |
|
156 |
|
157 Used to forcibly close (terminate) a session. The session identified by |
|
158 Auth-SID may not be used anymore to send requests. Normally not required |
|
159 as session will timeout eventually (default after 1 hour). |
|
160 |
|
161 result-list |
|
162 =========== |
|
163 |
|
164 Accepts: |
|
165 pending Shows results without reply (in progress) |
|
166 showall Shows results deleted using result-delete |
|
167 period Shows results for specifed period of days (default 90) |
|
168 date Shows results received on (or before) specified date. |
|
169 When date is specified, parameter "period" will be |
|
170 applied to this date (instead of today) and defaults |
|
171 to 1. |
|
172 offset Start dispalying results from specified position |
|
173 limit Sets limit for number of rows displayed |
|
174 |
|
175 status Shows results having specified status (ack/nack/?) |
|
176 count-only When set to 1, only count number of records and return |
|
177 single line in format "Records: N". |
|
178 |
|
179 All following filters may use patterns ("*" and "?") |
|
180 |
|
181 rtype Shows results for requests of specified type |
|
182 (domain-register/etc) |
|
183 objid Shows results for specified object ids (domain names |
|
184 and so on) |
|
185 procid Shows results for specified proc-id |
|
186 svtrid Shows results for specifued SvTrId |
|
187 cltrid Shows results for specified ClTrId |
|
188 |
|
189 Returns: |
|
190 List of answers from joker.com (one per line): |
|
191 |
|
192 TimeStamp SvTrId Proc-ID request-type status ClTrId |
|
193 |
|
194 Where: |
|
195 |
|
196 TimeStamp: The time when request was made, YYYYMMDDHHMMSS |
|
197 SvTrID: Tracking-Id associated with this request. |
|
198 Proc-ID: Proc-Id associated with this request. |
|
199 request-type: The type of the request. |
|
200 request-object: The object name (host, domain or contact handle) |
|
201 status: ack, nack or ?, where ack means that request was |
|
202 completed successfully. |
|
203 ClTrId: User specified transaction ID, or "-" if nothing |
|
204 was provided by the user. |
|
205 |
|
206 |
|
207 result-retrieve |
|
208 =============== |
|
209 |
|
210 Accepts: |
|
211 |
|
212 Proc-ID One of this must be specified. If both are specified, |
|
213 SvTrID SvTrId has precedence. |
|
214 |
|
215 Returns: |
|
216 |
|
217 Answer (processing result) associated with specified Tracking/Processing ID. |
|
218 |
|
219 If detailed information (content) is not available, only status will be returned. |
|
220 |
|
221 Please note: since there is no requirement of uniqueness for user-specified transaction |
|
222 ids, it is not possible to use them to retrieve specific results. |
|
223 |
|
224 result-delete |
|
225 ============= |
|
226 |
|
227 Accepts: |
|
228 |
|
229 Proc-ID |
|
230 SvTrId |
|
231 |
|
232 Returns: |
|
233 |
|
234 A descriptive message (confirmation) in case of success. |
|
235 |
|
236 This request will delete the content (not the status) of reply to asynchronous |
|
237 request. Deleted results will not be listed anymore when using result-list. |
|
238 Semantics of parameters is like in result-retrieve. |
|
239 |
|
240 query-domain-list |
|
241 ================= |
|
242 |
|
243 Accepts: |
|
244 pattern Pattern to match (glob-like) |
|
245 from Start from this item in list |
|
246 to End by this |
|
247 showstatus Add additional column, showing domain status, |
|
248 may be 0 or 1. |
|
249 showgrants Add additional column, showing domain grants, |
|
250 may be 0 or 1. |
|
251 |
|
252 Returns: |
|
253 |
|
254 List of registered domains and their expiration dates (one |
|
255 per line, separated by whitespace). If "showstatus" is present, |
|
256 the the list will be with three columns, the last one showing |
|
257 domain status (like "lock,autorenew" etc - comma separated). |
|
258 |
|
259 query-contact-list |
|
260 ================== |
|
261 |
|
262 Accepts: |
|
263 pattern Pattern to match (against handle) |
|
264 from Start from this item in list |
|
265 to End by this |
|
266 tld Limits output to contact handles which |
|
267 may be used with specified TLDs. |
|
268 extended-format Provides additional information for every contact listed: |
|
269 name & organization. May be "1" or "0", defaults to "0". |
|
270 |
|
271 Returns: |
|
272 |
|
273 List of registered contact handles, one per line. |
|
274 |
|
275 NOTE: Unless explicitly requested ("from" and/or "to" parameters), the number |
|
276 of entries returned is limited to 10000! |
|
277 |
|
278 When "extended-format" is requested, output columns are separated by tabs ("\t"), |
|
279 and "Columns" header provides column names. |
|
280 |
|
281 query-ns-list, query-host-list |
|
282 ============================== |
|
283 |
|
284 Accepts: |
|
285 pattern Pattern to match (against host name) |
|
286 full Include IPs if non-zero |
|
287 |
|
288 Returns: |
|
289 List of registered name servers, one perl line |
|
290 If "full" is non-zero, then the list will include IP addresses, |
|
291 IPv4 (2nd column) and IPv6 (3rd column), columns will be separated |
|
292 by tab ("\t") character. If specific IP is not present (say, there |
|
293 is only IPv4 or IPv6), it will be listed as "-". |
|
294 |
|
295 Example of list with IPs: |
|
296 |
|
297 ns.example.com 1.2.3.4 - |
|
298 ns6.example.com - FE80:0000:0000:0000:0202:B3FF:FE1E:8329 |
|
299 |
|
300 query-object (deprecated; please use query-whois) |
|
301 ================================================= |
|
302 |
|
303 Accepts: |
|
304 domain Domain name |
|
305 contact Contact handle |
|
306 host Host name |
|
307 |
|
308 Exactly one of those must be specified. Only object registered |
|
309 with Joker.Com may be queried. |
|
310 |
|
311 Returns: |
|
312 |
|
313 Information about specified object (similar to whois), in format "key: value". |
|
314 |
|
315 query-whois |
|
316 =========== |
|
317 |
|
318 Accepts: |
|
319 domain Domain name |
|
320 contact Contact handle |
|
321 host Host name |
|
322 |
|
323 Exactly one of those must be specified. Only object registered |
|
324 with Joker.Com may be queried. |
|
325 |
|
326 Returns: |
|
327 |
|
328 Information about specified object (similar to whois), in format "key: value". |
|
329 The difference to query-object request is that this request reflects actual |
|
330 (live) data in Joker.com database, while query-object may show a data which |
|
331 is a bit outdated. |
|
332 |
|
333 NOTE: this request will eventually replace query-object, or, to be precise, query-object |
|
334 will be replaced with this one. Some output fields are changed, some are removed |
|
335 completely, but it should be compatible to query-object. Please, make a transition |
|
336 to this request. |
|
337 |
|
338 query-profile |
|
339 ============= |
|
340 |
|
341 Returns reseller profile data in format "key: value". May be used to |
|
342 query account balance. |
|
343 |
|
344 |
|
345 contact-create |
|
346 ============== |
|
347 |
|
348 Requires: |
|
349 tld Target TLD, where this contact is intended to be used. |
|
350 name Full name (if empty, fname + lname will be used) |
|
351 fname First name |
|
352 lname Last name |
|
353 title (opt) |
|
354 individual (opt) Y, Yes, N, No |
|
355 organization (opt if individual) |
|
356 email |
|
357 address-1 |
|
358 address-2 (opt) |
|
359 city |
|
360 state (opt) |
|
361 postal-code |
|
362 country ISO country code (2 letters) |
|
363 phone |
|
364 fax (opt) |
|
365 lang (only meaningful for .EU contacts) |
|
366 app-purpose (required for .US contacts) |
|
367 nexus-category (required for .US contacts) |
|
368 nexus-category-country (required for .US contacts) |
|
369 account-type (required for .UK contacts, if used as owner contact) |
|
370 company-number (Required for .UK contacts with specific account types) |
|
371 |
|
372 "name" or "lname" and "fname" must be provided. Fields marked (opt) are |
|
373 optional, all other fields are required (and must not be empty). |
|
374 |
|
375 As of version 1.1, "lname" and "fname", if provided, will be converted |
|
376 to "name" (simple concatenation of "fname" and "lname"), because |
|
377 registries support only "name" format. In general, use of "fname" and |
|
378 "lname" is deprecated, and support for these fields will be removed |
|
379 in version 1.2. |
|
380 |
|
381 Please note, fields listed here (except "tld") may be used (or required) |
|
382 in other requests, this is indicated by referring to "Contact fields". |
|
383 |
|
384 "lang" must contain two-letter ISO country (language) code, and is only |
|
385 required when creating .EU contacts. The purpose is to specify language |
|
386 to be used in notifications emails, sent from EURid. Please note - this |
|
387 field cannot be modified later, and the default is 'EN' (English)! |
|
388 |
|
389 "app-purpose", "nexus-category" and "nexus-category-country" are |
|
390 required only when creating .US contacts, and cannot be modified |
|
391 later. |
|
392 |
|
393 "account-type" is a required for all .UK contacts which will be used as |
|
394 domain owner contacts. Possible values are: |
|
395 |
|
396 Value Meaning |
|
397 ========== =========================================== |
|
398 LTD UK Limited Company |
|
399 PLC UK Public Limited Company |
|
400 PTNR UK Partnership |
|
401 STRA UK Sole Trader |
|
402 LLP UK Limited Liability Partnership |
|
403 IP UK Industrial/Provident Registered Company |
|
404 IND UK Individual (representing self) |
|
405 SCH UK School |
|
406 RCHAR UK Registered Charity |
|
407 GOV UK Government Body |
|
408 CRC UK Corporation by Royal Charter |
|
409 STAT UK Statutory Body |
|
410 OTHER UK Entity that does not fit into any of the above |
|
411 (e.g. clubs, associations, many universities) |
|
412 FIND Non-UK Individual (representing self) |
|
413 FCORP Non-UK Corporation |
|
414 FOTHER Non-UK Entity |
|
415 |
|
416 By default, if "account-type" is not provided, value "FIND" or "IND" will be used |
|
417 (dependent "country" value - for GB and UK it will be "IND", for everything else "FIND"). |
|
418 |
|
419 "company-number" is required when "account-type" is one of: SCH, RCHAR, LTD, PLC, LLP, IP |
|
420 |
|
421 contact-modify |
|
422 ============== |
|
423 |
|
424 Requires: |
|
425 handle Contact handle to modify. |
|
426 |
|
427 Accepts (at least one of those must be provided): |
|
428 name Full name (if empty, fname + lname will be used) |
|
429 fname First name |
|
430 lname Last name |
|
431 title |
|
432 individual Y, Yes, N, No |
|
433 organization (must be provided if individual=N) |
|
434 email |
|
435 address-1 |
|
436 address-2 |
|
437 city |
|
438 state |
|
439 postal-code |
|
440 country ISO country code (2 letters) |
|
441 phone |
|
442 fax |
|
443 lang (only meaningful for .EU contacts) |
|
444 app-purpose (.US contacts) |
|
445 nexus-category (.US contacts) |
|
446 nexus-category-country (.US contacts) |
|
447 account-type (.UK contacts, if used as owner contact) |
|
448 company-number (.UK contacts with specific account types) |
|
449 |
|
450 |
|
451 If you specify a field, it will be used as a new value, if you omit |
|
452 (don not specify) it, the old value will not be modified. |
|
453 |
|
454 See also "contact-create" request for additional information. |
|
455 |
|
456 contact-delete |
|
457 ============== |
|
458 |
|
459 Requires: |
|
460 handle Contact handle to delete |
|
461 |
|
462 Using this request you can delete previously registered contact. |
|
463 |
|
464 ns-create, host-create |
|
465 ====================== |
|
466 |
|
467 Requires: |
|
468 host FQDN host name |
|
469 ip IPv4 address (must not be from IANA's reserved range) |
|
470 ipv6 IPv6 address |
|
471 |
|
472 Using this request you can register a nameserver. If ipv6 is provided, ip (IPv4) must |
|
473 be provided as well. |
|
474 |
|
475 ns-modify, host-modify |
|
476 ====================== |
|
477 |
|
478 Requires: |
|
479 host FQDN host name |
|
480 ip IPv4 address (must not be from IANA's reserved range) |
|
481 ipv6 IPv6 address |
|
482 |
|
483 Using this request you can modify the IP address of a registered |
|
484 nameserver. |
|
485 |
|
486 ns-delete, host-delete |
|
487 ====================== |
|
488 |
|
489 Requires: |
|
490 host FQDN host name |
|
491 |
|
492 Using this request you can delete a registered nameserver. |
|
493 |
|
494 domain-register |
|
495 =============== |
|
496 |
|
497 Requires: |
|
498 domain Domain name to register |
|
499 period Registration period in MONTHS (not in years!) |
|
500 status Domain status (only "production" is accepted so far) |
|
501 owner-c Owner contact handle |
|
502 billing-c Billing contact handle |
|
503 admin-c Administrative contact handle |
|
504 tech-c Technical contact handle |
|
505 ns-list List of name servers, delimited by colon |
|
506 |
|
507 Accepts: |
|
508 autorenew If set to "1", domain will be autorenewed upon |
|
509 expiration. |
|
510 language 3 letter language code for IDN domains |
|
511 registrar-tag Ragistrar tag, also known as "Membership token", |
|
512 only meaningful for .XXX domains |
|
513 |
|
514 |
|
515 Using this request you can register the domain. |
|
516 |
|
517 NOTE: You *must* have registered contacts to be able to register a domain! |
|
518 |
|
519 IMPORTANT: Please note that registration period is in MONTHS, NOT YEARS! This |
|
520 is to allow future micro-registrations (in development). |
|
521 |
|
522 domain-renew |
|
523 ============ |
|
524 |
|
525 Requires: |
|
526 domain Domain name to renew |
|
527 period Renewal period in months (not in years!) |
|
528 expyear Wanted expiration year |
|
529 |
|
530 Using this request you can renew the domain. Please be aware that all |
|
531 renewals are not refundable. |
|
532 |
|
533 IMPORTANT: Please note that registration period is in MONTHS, NOT YEARS! |
|
534 |
|
535 "expyear" is a safe option which can be used instead of "period" to |
|
536 renew domain till specified year (not longer). If you use "period", |
|
537 and by mistake send the request more than once, domain will be renewed |
|
538 again, while with "expyear", it will not be renewed if it's expiration |
|
539 year is greater or equals to specified. |
|
540 |
|
541 Only one of "period" or "expyear" may be used, but not both. |
|
542 |
|
543 domain-transfer-in-reseller |
|
544 =========================== |
|
545 |
|
546 Requires: |
|
547 domain Domain name to transfer |
|
548 transfer-auth-id Transfer Auth Id |
|
549 billing-c New billing contact handle |
|
550 admin-c New admin contact handle |
|
551 tech-c New tech contact handle |
|
552 |
|
553 Accepts: |
|
554 status New domain status |
|
555 owner-c New owner contact handle |
|
556 autorenew Autorenew flag for the domain (0 or 1). |
|
557 If not set explicity, defaults to 1. |
|
558 ns-list List of colon-separated nameservers. |
|
559 owner-email New owner email |
|
560 |
|
561 Using this request you can initiate a transfer of the domain from |
|
562 another registrar to Joker.com (gaining or incoming transfer). |
|
563 |
|
564 "transfer-auth-id" is required for all domains excluding "uk" and "at". |
|
565 |
|
566 Please note that "owner-c" parameter will become mandatory one day, please |
|
567 use it whenever possible. |
|
568 |
|
569 domain-transfer-get-auth-id |
|
570 =========================== |
|
571 |
|
572 Requires: |
|
573 domain Domain name to get auth id for |
|
574 |
|
575 Retrieves domain Auth-ID, which is required when transfering domains |
|
576 to another registrar. |
|
577 |
|
578 This request is not real-time, i.e. you have to check detailed reply |
|
579 (use "result-retrieve") to get Auth-ID. |
|
580 |
|
581 Please note - *every* request will generate new Auth-ID, thus |
|
582 rendering any previously requested Auth-ID invalid. |
|
583 |
|
584 domain-modify |
|
585 ============= |
|
586 |
|
587 Requires: |
|
588 domain Domain name to modify |
|
589 |
|
590 Accepts: |
|
591 billing-c New billing contact handle |
|
592 admin-c New administrative contact handle |
|
593 tech-c New technical contact handle |
|
594 ns-list List of new nameservers (it will _replace_ |
|
595 existing nameservers!) |
|
596 registrar-tag Ragistrar tag, also known as "Membership token", |
|
597 which can be set/changed on .XXX domains |
|
598 |
|
599 dnssec If specified, allows setting or removal of DNSSEC |
|
600 keys for domain. If not specified, DNSSEC records |
|
601 will not be changed. |
|
602 Value of "0" will remove DNSSEC, value of "1" will |
|
603 add DNSSEC (and ds-N parameters must be provided) |
|
604 |
|
605 ds-1 List of DNSSEC parameters for DNSSEC enabled domains |
|
606 ds-2 For com/net/org/tv/cc each entry has format: |
|
607 ds-3 tag:alg:digest-type:digest |
|
608 ds-4 For de: |
|
609 ds-5 protocol:alg:flags:pubkey-base64 |
|
610 ds-6 |
|
611 |
|
612 Using this request you can modify contact handles for the domain, |
|
613 list of nameservers or DNSSEC parameters (for DNSSEC enabled domains). |
|
614 |
|
615 If specific value is not present, it will not be touched. Modification |
|
616 of nameservers or DNSSEC parameters will replace currently defined set |
|
617 of DNSSEC keys or nameservers. |
|
618 |
|
619 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 |
|
621 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! |
|
623 |
|
624 Example for adding one key (and enabling DNSSEC): |
|
625 |
|
626 http://dmapi.joker.com/request/domain-modify?domain=example.com&dnssec=1&ds-1=9934:8:1:C4BF75B16AF82888B61E28951BEF27804B60D968 |
|
627 |
|
628 Example for removing DNSSEC information: |
|
629 |
|
630 http://dmapi.joker.com/request/domain-modify?domain=example.com&dnssec=0 |
|
631 |
|
632 NOTE: You have to have your own nameservice somewhere else to support DNSSEC, |
|
633 if you use Joker.com nameservice, DNSSEC will not be provided! |
|
634 |
|
635 domain-delete |
|
636 ============= |
|
637 |
|
638 Requires: |
|
639 domain Domain name to delete |
|
640 |
|
641 Accepts: |
|
642 force If present and contains 1, Y or Yes, |
|
643 domain will be deleted even if older |
|
644 that 72 hours. |
|
645 type type of delete request, one of: |
|
646 endoflife, immediate, transit |
|
647 |
|
648 |
|
649 Using this request you can delete the domain. |
|
650 |
|
651 If you delete a domain within the first 72 hours after the |
|
652 registration, the registration-fee will be refunded to your account. |
|
653 |
|
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. |
|
660 |
|
661 domain-owner-change |
|
662 =================== |
|
663 |
|
664 Requires: |
|
665 |
|
666 domain Domain name to change owner |
|
667 * Contact fields (see contact-create) |
|
668 |
|
669 Using this request you can change (visible) owner of the domain. |
|
670 Please use same fields as in contact-create request to describe |
|
671 new owner. |
|
672 |
|
673 domain-lock |
|
674 =========== |
|
675 |
|
676 Requires: |
|
677 domain Domain name to lock |
|
678 |
|
679 Using this request you can lock a domain for preventing fraudulent |
|
680 transfer attempts. If a domain is locked, each transfer-request from |
|
681 a foreign registrar will be declined. |
|
682 |
|
683 domain-unlock |
|
684 ============= |
|
685 |
|
686 Requires: |
|
687 domain Domain name to unlock |
|
688 |
|
689 |
|
690 Using this request you can unlock a domain. If you want to transfer a |
|
691 domain to a foreign registrar, the domain has to be unlocked. |
|
692 |
|
693 domain-set-property |
|
694 =================== |
|
695 |
|
696 Requires: |
|
697 domain Domain name or pattern |
|
698 pname Property name |
|
699 pvalue Property value (may be empty) |
|
700 |
|
701 |
|
702 Using this request you can set a property (flag) for a domain or |
|
703 a set of domains, selected by wildcard pattern. |
|
704 |
|
705 List of available properties and their effects: |
|
706 |
|
707 Property name Value/Effect |
|
708 ============= ============================================= |
|
709 autorenew 0 or 1 |
|
710 If set to 1, the domain will be autorenewed |
|
711 on expiration (if you have non-zero balance). |
|
712 |
|
713 whois-opt-out 0 or 1 |
|
714 Only meaningful for .tel domains currently. |
|
715 If set to 1, owner information will not be |
|
716 shown in whois. |
|
717 |
|
718 If value provided is empty, then the property will be cleared, i.e. |
|
719 the default will be used. |
|
720 |
|
721 domain-get-property |
|
722 =================== |
|
723 |
|
724 Requires: |
|
725 domain Domain name |
|
726 pname Property name (same as in |
|
727 domain-set-property) |
|
728 |
|
729 Using this request you can query value of specific property set for |
|
730 domain. It returns single line, which looks like: |
|
731 |
|
732 autorenew: 0 |
|
733 |
|
734 grants-list |
|
735 =========== |
|
736 |
|
737 Requires: |
|
738 domain Domain name |
|
739 |
|
740 Accepts: |
|
741 showkey Show invitation access key |
|
742 |
|
743 Get a list of active and pending grants. |
|
744 |
|
745 Returns lines in the following format (space-separated): |
|
746 |
|
747 invitation <nr> <scope> <key> domain <domain-name> <role> - - - <invitee-email> <nick-name> |
|
748 grant <nr> <scope> <key> domain <domain-name> <role> <inviter-username> <invitee-username> <invitee-userid> <invitee-email> <nick-name> |
|
749 |
|
750 Where: |
|
751 <nr> Record number |
|
752 <scope> Grant/Invite id (used to uniquely identify records for revocation) |
|
753 <key> Invitation access key, present *only* when "showkey" is non-zero |
|
754 It has meaning only for pending invitations only, and always is "-" |
|
755 for grants. |
|
756 <domain-name> Domain name (identical to requested) |
|
757 <role> One of @admin/@billing/@tech/@creator |
|
758 <inviter-username> Self-explaining |
|
759 <invitee-username> Self-explaining |
|
760 <invitee-userid> - |
|
761 <nick-name> Self-Explaining |
|
762 |
|
763 grants-invite |
|
764 ============= |
|
765 |
|
766 Requires: |
|
767 domain Domain name |
|
768 email Email of invitee |
|
769 client-uid Joker client-id of invitee - if provided, this will perform "silent" |
|
770 assignment: invitee doesn't need to "accept" invitation, but will |
|
771 be notified in any case. |
|
772 role Proposed role (@admin/@billing/@tech/@creator) |
|
773 nickname Invitee's nickname. If omitted, email will be used as default nickname. |
|
774 |
|
775 Returns status only (ok or not). Email is sent if request was succesfull. |
|
776 |
|
777 To internally transfer domain to another user (account) within Joker.com, please use the following |
|
778 request: |
|
779 |
|
780 https://dmapi.joker.com/request/grants-invite?domain=example.com&email=dst-user-email@joker.com&role=@creator&client-uid=<dst-uid> |
|
781 |
|
782 Obviously, you will need to know user ID of the user, who will receive the domain - simply providing email address |
|
783 is not sufficient. |
|
784 |
|
785 grants-revoke |
|
786 ============= |
|
787 |
|
788 Requires: |
|
789 domain Domain name |
|
790 role Role to revoke |
|
791 scope Scope (from grants-list request) |
|
792 type Type of the record to revoke - "grant" or "invitation" |
|
793 |
|
794 Returns status only (ok or not). Email is sent if request was succesfull. |
|
795 |
|
796 dns-zone-list |
|
797 ============= |
|
798 |
|
799 Accepts: |
|
800 pattern Pattern to match (glob-like) |
|
801 |
|
802 List zones (domains) which are managed and served by Joker.com name |
|
803 servers. Zones are listed one per line. |
|
804 |
|
805 dns-zone-get |
|
806 ============ |
|
807 |
|
808 Requires: |
|
809 domain Zone (domain) name to fetch data |
|
810 from. |
|
811 |
|
812 Returns list of zone records in the format, described in dns-zone-put request. |
|
813 |
|
814 |
|
815 dns-zone-put |
|
816 ============ |
|
817 |
|
818 Requires: |
|
819 domain Zone (domain) name to store data to. |
|
820 zone URL encoded zone data |
|
821 |
|
822 Replace current zone for provided domain with specified value. |
|
823 |
|
824 Field "zone" will be parsed as multiline text (so usual line |
|
825 terminators are expected). |
|
826 |
|
827 WARNING: this request will OVERWRITE current zone, i.e. all current |
|
828 records will be replaced by new records. |
|
829 |
|
830 The format of a zone definition is as follows (one record per line): |
|
831 |
|
832 <label> <type> <pri> <target> <ttl> <valid-from> <valid-to> <parameters(s)> |
|
833 |
|
834 Where: |
|
835 |
|
836 label subdomain/redirection label, relative to |
|
837 current zone, or @ (which means current |
|
838 zone name). |
|
839 type record type (A, AAAA, MX, CNAME, URL, |
|
840 MAILFW, TXT, NAPTR, DYNA, DYNAAAA, SRV) |
|
841 pri numeric value, meaningful only for types |
|
842 MX, NAPTR and SRV, must be 0 for all other |
|
843 types |
|
844 target record target/value. Must be quoted if |
|
845 contains spaces. |
|
846 ttl record TTL in seconds |
|
847 valid-from record is not valid before this time (UNIX |
|
848 timestamp) or 0 |
|
849 valid-to record is not valid after this time (UNIX |
|
850 timestamp) or 0 |
|
851 parameters record-specific parameter(s) |
|
852 |
|
853 All values from "name" to "ttl" are mandatory for every record. |
|
854 |
|
855 <valid-to> and <valid-from> are not implemented yet, so usually are 0, |
|
856 and may be omitted if there are no other parameters required. |
|
857 |
|
858 <parameters(s)> are record dependent, used in NAPTR, MAILFW, FRAME and URL |
|
859 records. |
|
860 |
|
861 <ttl> must be at least 60 for all records except NAPTR and SVC, where |
|
862 it can be 0 (meaning: no caching). For MAILFW/URL/FRAME <ttl> is |
|
863 irrelevant and assumed to be 60 seconds (i.e., any change will be |
|
864 in effect within 60 seconds from zone change). |
|
865 |
|
866 <pri> preference value for MX records, priority/weight for SRV records |
|
867 and order/preference for NAPTR records. For any other record, the value |
|
868 must be 0. |
|
869 |
|
870 Examples of zone records: |
|
871 |
|
872 www A 0 127.0.0.1 86400 |
|
873 www AAAA 0 fec0::17 86400 |
|
874 |
|
875 @ MX 10 mail.example.com. 86400 |
|
876 |
|
877 redirect URL 0 http://joker.com 86400 |
|
878 |
|
879 Sets redirection from redirect.joker.com to http://joker.com (assuming that |
|
880 current zone is "joker.com"). |
|
881 |
|
882 frame FRAME 0 http://joker.com 86400 0 0 "Header: Frame-Forward" "head" "title" "body" |
|
883 |
|
884 Sets frame-based redirection similar to URL redirection. |
|
885 |
|
886 For FRAME record, extra parameters are as follows: |
|
887 |
|
888 Extra HTTP headers. (newlines may be escaped as \n) |
|
889 Extra text placed in <head></head> section of generated HTML. |
|
890 Title text (<title></title>) of generated HTML. |
|
891 Body text (used for <noframes> section) |
|
892 |
|
893 username MAILFW 0 redirected@example.com 86400 0 0 1 |
|
894 |
|
895 This MAILFW records makes redirection of mail sent to username@joker.com (assuming |
|
896 that current zone name is "joker.com") to redirected@example.com, extra parameter ("1") |
|
897 specifies that spam-filtering should be used. |
|
898 |
|
899 naptr NAPTR 10/100 replacement 86400 0 0 "flags" "service" "regex" |
|
900 |
|
901 This NAPTR record has order 10 and preference 100. Only one of "replacement" or "regex" may be |
|
902 specified, if "regex" is specified, "replacement" must be "." (without quotes), if "replacement" |
|
903 is specified, "regex" must be empty string. Quotes are mandatory for all extra parameters. |
|
904 For details please consult RFC 2915, or look here: http://de.wikipedia.org/wiki/NAPTR |
|
905 |
|
906 _ldap._tcp SRV 10/100 ldap.example.com:389 60 |
|
907 |
|
908 This SRV records has priority 10, weight 100, target "ldap.example.com" and port "389" |
|
909 with TTL 60 seconds. Please consult RFC 2782 for details. |
|
910 |
|
911 txt TXT 0 "key=value" 86400 |
|
912 |
|
913 Quoting of values for TXT records is mandatory. |
|
914 |
|
915 www CNAME 0 example.com. 86400 |
|
916 |
|
917 Two special record types, DYNA and DYNAAAA, are used in case if DynDNS is active. |
|
918 They have same meaning as corresponding "A" and "AAAA" records, except that |
|
919 their targets may be updated using Joker DynDNS service. |
|
920 |
|
921 To enable/disable DynDNS service, and to defined username/password used to access |
|
922 it, the record format is as follows: |
|
923 |
|
924 $dyndns=yes:username:password |
|
925 |
|
926 username/password may not contain spaces or colon (":") characters. If "no" is |
|
927 specified instead of "yes", DynDNS will be turned off (i.e. DYN* entries will |
|
928 have no effect). |
|
929 |
|
930 All empty lines, or lines starting with "#" character are ignored. |
|
931 |
|
932 In case if there any errors, zone modification will not be accepted. All errors |
|
933 will be reported for every erroneous line, so if there are more than one, |
|
934 you will be able to see all detectable errors. |
|
935 |
|
936 wa-email-list |
|
937 ============= |
|
938 |
|
939 Lists all domain owner emails which are pending verification. Default output is |
|
940 as follows: |
|
941 |
|
942 email-address<TAB>domain-name<TAB>verification-expiration-date |
|
943 |
|
944 Where: |
|
945 |
|
946 email-address email address of the domain owner which is pending verification |
|
947 domain-name domain name where email is the owner |
|
948 verification-expiration-date verification deadline, i.e. if by this date and time |
|
949 (specified in standard ISO format) email is not positively verified, the domain |
|
950 name listed may be put on hold. |
|
951 |
|
952 wa-email-details |
|
953 ================ |
|
954 |
|
955 Requires: |
|
956 |
|
957 key Verification key |
|
958 |
|
959 List verification status for provided verification key. Entries are listed as follows: |
|
960 |
|
961 status<TAB>email<TAB>domain |
|
962 |
|
963 "status" is "verification", email is the domain owner's email. |
|
964 |
|
965 wa-email-validate |
|
966 ================= |
|
967 |
|
968 Requires: |
|
969 |
|
970 email Email address to send validation request to. |
|
971 It must be domain owner's email address. |
|
972 |
|
973 Returns special response header "Result", which will contain "ACK" if the validation request |
|
974 has been sent or "NACK" otherwise. |
|
975 |
|
976 wa-email-verify |
|
977 =============== |
|
978 |
|
979 Requires: |
|
980 |
|
981 key Verification key (provided in meail verification request) |
|
982 answer Answer to verification request - "yes" or "no". |
|
983 |
|
984 If the answer is "yes", the verification status is set to "verified" and email is confirmed as valid, |
|
985 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". |
|
987 |
|
988 Returns special response header "Result", which will contain "ACK" if the verification has been |
|
989 accepted or "NACK" otherwise. |
|
990 |
|
991 ----- |