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