Reseller Documentation (EN) General Info, Tools, APIs General Information What is an "OT+E" System? OT&E stands for Operational Test & Evaluation, which is a type of testing and evaluation system that is designed to avoid any impact on real data or assets such as registered domains or contacts. At Joker.com, we have an OT&E system that is essentially a duplicate of our main system, with special "fake" registries that are used for testing and evaluation purposes. This allows our resellers to test their scripts and methods using the Joker.com API and tools, without having to worry about making changes to real data. With our OT&E system, resellers can perform domain orders and object manipulations in a simulated environment, allowing them to test their systems and make any necessary changes before going live with their services. This helps to ensure a smooth and error-free experience for our resellers and their customers. Our OT&E system mainly consists of: www.ote.joker.com (standard web frontend) ote.rpanel.io (RPanel reseller frontend and code example) dmapi.ote.joker.com (Joker.com API) whois.ote.joker.com (Whois) In case you are interested in using these systems, please consider becoming a reseller of Joker.com. Our resellers benefit from discounts of up to 40% on all prices. Why would I register as a Reseller? Without a doubt, there are plenty of compelling reasons to join our reseller program. Let's explore the exciting advantages you can enjoy: Discounts: As a Joker.com reseller, you'll receive discounts on all domain transactions. You'll start with a 20% discount, which can increase up to 40% based on your activities. Saving money while expanding your business is a win-win situation! User-Friendly Interface: Gain access to the Reseller Control Panel ( rpanel.io ), an alternative web interface designed specifically for resellers. This powerful tool simplifies domain management, allowing you to effortlessly handle even large volumes of domains and contacts. Real-time data presentation eliminates the need for time-consuming form submissions. Test and Tryout System: Explore Joker.com's registration and domain manipulation methods without affecting real data. The OT&E system provides virtual domains and registries, enabling resellers to experiment and test various functionalities. You can experiment fearlessly, honing your skills and gaining confidence. Seamless Integration: Our HTTP-based API makes scripting and integration into your existing solutions a breeze. Automate processes and streamline your workflow with ease. Convenient API and Email Gateway: Register domains effortlessly by sending commands via email using PGP-signed emails. Our user-friendly API and email gateway simplify the domain registration process, ensuring a hassle-free experience. Integration Modules for Hosting Solutions: If your business utilizes hosting solutions like WHMCS , Clientexec , or Hostbill , consider automating your domain needs with our integration modules. These modules facilitate domain registration, renewal, billing, and maintenance, seamlessly integrating them into your existing business solution. Installation requires only a few simple steps, if necessary at all. How to register as Joker.com Reseller? Please click here for more information on how to register as a Joker.com reseller. Who could become a Reseller? Whether you're an individual or a company , you are eligible to become a Joker.com reseller. If you have five domains or more, it's definitely worth considering the reseller opportunity. Is there a fee for becoming a Reseller? No, becoming a Joker.com reseller is free . However, resellers have to fund their account with Joker.com in advance (pre-payment). You are free to decide to what extend to fund your account.   Every time you place an order, the amount for this order will be deducted from your account. This is especially useful to guarantee reliable auto-renewals, in case you chose to make use of this feature. How to update my Reseller data? To modify your personal data, your standards for registration, whois templates and more, please login to Joker.com using your reseller credentials. Then in the dashboard, click on ' Reseller Area '. under "Quick Access" section, and then choose ' Update Reseller Data ', or use the menu 'Resellers', followed by ' Reseller's Profile ' You will find more settings like 'language for system emails' or 'auto renewal' in ' Your Account ', or also in the menu 'My Joker' followed by ' My Profile '. How to add existing domains to my portfolio? Transition to a reseller account If you decide to let your Joker.com login account migrate to a Joker.com Reseller account , all your domains will be added automatically to this Reseller account.   Moving a domain from Joker.com User A to User B (cooperative) If you own the existing domain, using another Joker.com account, please visit " My Domains " from the " Domains " menu. Click on the "menu" icon ("hamburger" icon on the right) of the domain you want to move, and choose " Grants ". Choose "Assignement" (= "Internal transfer") as "Role", enter the email address of the account holder to whom the domain should be transferred to, add a comment/description if you which, and press " add ". You may then add more domains; please press " save " when you are done. After this, a transfer-link is sent to the email address you entered. You will also find this as a "pending" record in the "Grants" dialogue mentioned above. The "transfer link" will be valid for 7 days. The recipient of the transfer-link imports the domain simply by clicking on this link. As an alternative, this email also contains an "internal transfer key", which can be used using "Domain Transfer" on Joker.com ("internal transfer").   Moving a domain from Joker.com User A to User B (claim) If you want to "move" or claim domains from one Joker.com account (regular or reseller) to another Joker.com account (e.g. your new reseller account), please choose " Change Ownership or Permissions of a Domain " from the " Domains " menu. Enter your domain, and "proceed" - depending on the Whois data and current ownership of the domain, you might have to send in a document. Procedure with Email Gateway If you want to 'move' domains owned by other Joker.com login accounts, you can do this easily using the Roles & Grants system to perform an Internal Transfer to the account of choice. What is the 'admin' email address for? A Joker.com reseller usually has two registered email addresses with Joker.com, one for the 'robot' emails, and another for administrative tasks. Reseller  news and monthly invoices will be sent to the administrative address . The ' robot ' address corresponds to the standard address associated to the Joker.com login. All notifications resulting from domain orders, renewals and modifications will be sent to this address. This address for notifications can be changed easily in ' My Profile '. What is the so called 'Additional Whois Signature' for? The "Additional Whois Signature" is part of the data asked during the registration as a Joker.com reseller. Those input fields are optional, but if you provide them, they will be used to publish your strings in global whois for your domains. This way your customers can identify you as their domain provider . The strings you provide will be shown as "Sponsoring Reseller". Please note: You can provide or modify this data at any time in the Reseller's Area . What is the Joker.com PGP/GPG-Key? This is Joker.com's  public GPG/PGP key - you may use it to verify signed mails sent from Joker.com : -----BEGIN PGP PUBLIC KEY BLOCK----- Version: GnuPG v1.0.7 (GNU/Linux) mIsEPOorJQEEAJauWOOvusxn9GFEPjZnQ3x/48OfaPwSN4cIF5ezpUT6FycZQa+q eUnNlS+bj80ULXnyyigmkUGwEtW/Qoyd55RM983pr4KtuHSMSU9gCN1syuHlDOAm 71u6irfv5RaHbJXauMCAgUKn+dBNZVZyUTm9aW2pudcwY45apF2tieTZAAYptClq b2tlci5jb20gc2lnbmVyIHNlcnZpY2UgPGluZm9Aam9rZXIuY29tPoiyBBMBAgAc BQI8/NifAhsDBAsHAwIDFQIDAxYCAQIeAQIXgAAKCRAm3eE0EUTiIx9RA/9HGDrD cVM6PjZHr5jpT4svpv7xrjVRn2OIR+s80RuBAnLyAWOflqJ9342SYD8C7BMAqYm4 wXvC3/yvbQEAqsmJ5Bbq2NV+KDepahTtL8SUQ6TkOSUd9NDOvLoQWVI6o1Dz/3MG HLJfNtx6067Sq8pP8PuYyscPyZ7/uiUilyOrqg== =O/7Q -----END PGP PUBLIC KEY BLOCK-----     If I want to leave Joker.com one day, do I have to expect problems transferring my domains? Joker.com respects its customers and provides outgoing transfers as normal operations. There are no additional of hidden fees associated with a outgoing transfer. What is the minimum amount I have to pay in advance to become a reseller? Currently, there is no minimum funding requirement for your reseller account. Your discount will be based on the revenue you generated in the past, allowing you the flexibility to grow at your own pace.   For more information, please also see  Joker.com Reseller Subscription . Do I have to pay VAT? No VAT is charged  for: all resellers and other business customers from EU countries apart from Germany having provided a valid VAT-ID Swiss customers customers from outside the EU VAT is charged  for customers from the EU who don't have a valid VAT-ID resellers and business customers from Germany, independent from VAT-ID (German customers with VAT-ID usually are eligible for regular VAT/tax refund) Swiss and Liechtenstein customers are free from paying VAT until December 31st 2017. Legislation will change there on Jan 1st 2018, which means we have to charge the VAT rate there as well -  unless you provide us with a UID . What is the difference between a reseller and a retail customer? As a reseller, you benefit from several additional options: better and competitive prices; the more revenue you generate, the higher the discount you get notification mails about renewals or inquiries are sent only to you ICANN WDPR mails are sent in your name (we are using your address as sender) you are managing all your customer's domains within your portfolio; however, if needed or if you want to, you may let your customers - or only some of them - manage their domains on their own several tools are available free of charge ( WHMCS , HTTP API, rpanel.io , web frontend, email gateway, OT&E test platforms ) Should I use PGP? PGP or GPG is only needed in case you want to make use of the email gateway to order, renew or manage domains. If you want to use the API, RPanel or the Website, PGP is not needed . May I use several methods in parallel to access my domains? Yes, this is possible. However, you should make sure that you don't issue the same orders on the same object twice, i.e. if you you send a renewal request through the mail interface, and do the same using dmapi, the domain will be renewed twice. How to renew a domain without having funds in my account? Please logoff from Joker.com, and then visit " Renew your Domains " from the "Domains" menu. You will then see a " Simple Renewal ", where you can renew any domain with any payment method . You may also use another Joker.com account, or create a new one for this. Only if you are logged in using your regular reseller account, the system always uses the reseller funds for payments. As an alternative, you also may put only some small funds into your reseller account, just to allow for regular renewal. Using PayPal instantly adds funds to your account. Sending Mails on Behalf of the Reseller - "White Label" Email Handling with DKIM for Resellers For certain ICANN-mandated procedures such as COR, IRTP, ERRP , and others, Joker.com sends emails on behalf of resellers. This can be configured directly in the reseller’s profile. However, many receiving mail servers no longer accept messages that appear to come from external sender addresses. To address this, Joker.com now supports sending these emails using DKIM (DomainKeys Identified Mail) . With DKIM, emails are cryptographically signed using a key that is automatically connected to your domain, greatly improving deliverability. What Has Changed? Previously, enabling DKIM required manual configuration with the help of our support team. Now, we’ve introduced an automated procedure . All you need to do is add a few DNS records to your domain. Setup Instructions Add the following CNAME records to the DNS zone of the email domain you’ve provided: joker1._domainkey.example.com CNAME joker1._domainkey.joker.com joker2._domainkey.example.com CNAME joker2._domainkey.joker.com Please replace "example.com" with your domain! Important Notes Only one reseller domain can be used for DKIM. ✅ Allowed: transfer@reseller-domain.com , wdrp@reseller-domain.com ❌ Not allowed: info@another-reseller-domain.net if you use info@reseller-domain.com SPF Record Adjustment If your domain already uses SPF records , you should also include Joker.com’s mail servers. Simply add the following include directive to your SPF record: include:_spf.joker.com Reseller Control Panel The Reseller Control Panel RPanel Next is the next generation of our Reseller Control Panel . It has been created from scratch, focussed to provide you with the ultimate tool to handle all needs of a domain's business. The application is pretty self-explanatory, but here is a short list of what's important to know about this tool. But you definitely should give it a try !   Login  Click this link or type https://rpanel.io/ into the address bar of your browser. Use your known login credentials to login. (In case you aren't a reseller yet you can become one here in 3 easy steps). Once logged in, you'll see an overview of your account, your current balance, your ID and information about the number of domains you have. Additionally, current news and promo activities are providded, and a history your activities from the last 30 days is available. Filtering/searching is always possible using the header input fields on top of the table columns.   Domains  Click on "domains" in the top menu and select "overview". In this view you see all your domains in a table from which you can modify every aspect of the domains. With a click on "register" in the top right corner you are able to register new domains. All these actions can be done from this overview table but you can also select the respective menu item from the domains menu on the top.     Contacts   Click on "contacts" in the top menu to get an overview of all existing contacts. If you click on the contact handle you see all details about this specific contact. Clicking "modify" or "delete" on the right site lets you modify contact info or delete a contact alltogether. Deleting a contact has to be confirmed in the next step. The create button in the top right corner lets you create a new contact.   Nameservers If you like to add new nameservers you can do this under the menu item "Nameservers". Create new ones or create a template for nameservers which you can use afterwards.   Language Lets you switch between German and English. Those changes are not persistend. To change the default language, click on the user icon next to "language" and select "settings".   Settings This is found under the profile icon. From this menu item you can edit your default language, your preferred date/time format, if and when you want to get notified when your balance runs low and if you want to activate or deactive domain autorenew globally.    Execute Request This is found under the profile icon. Here you can enter and execute DMAPI requests. Please check the DMAPI area in this FAQ for more information on that.   Feedback This is found under the profile icon. Please provide us with feedback to further improve our new RPanel. Every kind of constructive feedback will be greatly appreciated.    Logout This is found under the profile icon. You are logged out automatically after a certain time of inactivity. If you are working on a shared computer or want to switch accounts you can log out here.    Cart If you registered any domains you have to check out your cart. Here you can add whois privacy to your domains if possible, change the registration period, auto renew status and configure the domain(s) (add contact information or nameservers). The Joker.com PHP Client Joker.com provides this tool as an fully working example of how to make use of the Joker.com API (DMAPI). The Joker PHP Client is a lightweight web interface, demonstrating how to implement a full-featured domain handling. The source code of this web interface is freely available for download on Github , so that our resellers could run it on their own site! The API used in this tool is called DMAPI and it is a Joker.com domain registration system offered as Web service ( API ).   The Joker PHP Client is also provided as a hosted service by Joker.com, and can be reached as  rcp.joker.com . Please try it out . Log in with your Joker.com reseller account, and operate carefully with it as it is completely functional. Your feedback as a reseller will be greatly appreciated and will help us to improve this application.   Requirements: Web server PHP 7.x Web browser Summary: Reseller Control Panel is destined to handle any domain operations which are offered by the domain registrar Joker.com. Currently it can: show WHOIS of a domain register domains modify domains transfer domains renew domains delete domains lock/unlock domains (transfer related) initiate redemption procedure create, modify and delete contacts create, modify and delete nameservers zone operations IDN support show reseller information show sumamry of actions executed through the interface   Download: You can get the newest version at https://github.com/joker-registrar/rcp-reseller-api-demo/ . Installation: Please see Installation of Joker PHP Client, and there is also an INSTALL file in the distribution package. Support: You can contact us through our support area. Installation of Joker.com PHP Client To successfully install this client application, you need a basic knowledge of Web servers, PHP and file systems. In principle the installation is only a copy and run. The first thing to do is to ensure, that your Web server runs PHP files, and if not to configure it appropriately. Quick installation:  1. Untar or unzip the distribution (be sure to unzip the subdirectories): tar -xzvf package_name_x.x.x.tar.gz in your webserver's document root. If you don't have direct access to your document root, put the files in a directory on your local machine, and transfer the directory on your web server using, for example, ftp.  2. Ensure that all the scripts have the appropriate owner (if PHP is running in safe mode, having some scripts with an owner different from the owner of other scripts will be a problem). Be sure that the application can write log files, temp files and sessions. This means that the folders specified in config.php should be made writeable for the application.  3. This application needs cURL to communicate with DMAPI. You have to have the cURL PHP module enabled. If you run Windows it is provided with every instance of PHP and has to be uncommented in php.ini. Do not forget to restart your webserver after enabling the module. If you run Linux then this module has to be compiled and included. If you wonder how to do this, please read the PHP manual dealing with cURL (http://php.net/curl). Problems were reported when "zend.ze1_compatibility_mode" is set to "on" in PHP 5.2.5. In lower versions this setting caused no problems.  4. It is recommended that you protect the directory in which you installed the client (unless it's on a closed intranet), for example with HTTP-AUTH (in a .htaccess file).  5. Open the file //index.php in your browser. The Joker.com PHP client should now display a welcome screen with a login dialog. Have fun and don't forget to send feedback! Usability Hints Some notes: The default session duration of DMAPI (the service behind this interface) is 1 hour. This means that after 1 hour of inactivity, you will be logged out of both DMAPI and Reseller Control Panel, and asked again for your username and password. For support issues, please send us your inquiry through our support area . DMAPI Basics Commonalities for all requests   DMAPI-Server URL This is the service address which has to be used for all requests: https://dmapi.joker.com This is how a request looks like: https://dmapi.joker.com/request/?= &=&auth-sid= Header fields which are returned by most requests Tracking Id Unique server-assigned tracking id, assigned to almost all requests  Status-Code 0 or 1000-1999 if no error occured, all other values indicate some sort of error. Status-Text Human readable error description Result ACK or NACK (= "Acknowlegded" or "Not Acknowledged")  Error May be returned if (and only if) the request was rejected, in this case reason(s) will be provided. Presence of this line in headers is indicative for that processing didn't take place. Warning Indicative of non-fatal processing or validation problems Proc-Id Joker.com processing ID  HTTP error codes 200 if everything is OK (request was accepted and processed or queued for processing), otherwise the reason will be provided in Error header lines (or, if this is absent, HTTP error code should be used).   IMPORTANT : Every request (except "login") requires the presence of the Auth-Sid variable (" Session ID "), which is returned by the "login" request (login). An active session will expire after some inactivity period (default: 1 hour).   In case you are using a browser to access this service, the session id will be set as a cookie, hence need not to be specified as Auth-Sid (unless cookies are not supported or turned off). In any case, Auth-Sid has precedence, if provided.  Requests consist of these parts: "Requires": Defines variables (sometimes referred to as 'fields') that MUST be present "Accepts": Defines variables that MAY be present (but not required) "Returns": Describes the request's output - header fields and extra data (if any). If "Returns" is omitted, then a standard reply should be expected (Status-Code, Status-Text, Proc-ID etc) Whois Privacy Services Privacy services are available for most generic top level domain names. The availablitiy of privacy services is indicated in Joker.com's price list and domain search .   For requests " domain-register " and " domain-transfer-in-reseller ", there exists an additional parameter "privacy": privacy= basic (owner contact name and/or organisation left intact, address & emails are masked) privacy= pro (everything is masked) privacy= none (same as "no privacy parameter provided") For " domain-renew ", the additional parameter privacy works similar: privacy= basic (owner contact name and/or organisation left intact, address & emails are masked) privacy= pro (everything is masked) privacy= none (explicitly do a renew without privacy services, even if currently privacy is enabled) privacy= keep (renew with the same level of privacy service which is currently active for the domain) - this now is also default ; for domains without an existing privacy service subscription, "keep" means "none", so there will be no privacy service ordered. If there is an existing privacy service subscription active, and this privacy service is not set to "off", "keep" will also renew this privacy service subscription, together with the domain.   To order privacy services for existing domains , the new request " domain-privacy-order "can be used: domain=example.com period=12 (in months, as usual) expyear=2016 (privacy expiration year, similar to domain renewal request) privacy=basic|pro If neither period nor expyear is provided, then privacy is ordered for remaining domain lifetime, whatever it is. Example: https://dmapi.joker.com/request/domain-privacy-order?domain=example.com&privacy=basic&auth-sid=   The request " domain-set-property" allows to manage privacy services for domains which already do have a valid privacy service subscription: privacy=basic (activate "basic" privacy service) privacy=pro (activate "pro" privacy service) privacy=off (deactivate privacy service - Whois data will be disclosed ) Samples: Ordering domain with privacy: https://dmapi.joker.com/request/domain-register?domain=example.com&period=12&owner-c=CCOM-1&billing-c=CCOM-1&admin-c=CCOM-1&tech-c=CCOM-1&ns-list=a.ns.joker.com:b.ns.joker.com&privacy=pro&auth-sid=   Renew domain and order privacy: https://dmapi.joker.com/request/domain-register?domain=example.com&period=12&privacy=basic&auth-sid=   Request incoming transfer and enable privacy: https://dmapi.joker.com/request/domain-transfer-in-reseller?domain=example.com&transfer-auth-id=zigzag&billing-c=CCOM-1&admin-c=CCOM-1&tech-c=CCOM-1&privacy=pro&auth-sid=   Temporarily disable privacy (assuming that it is active): https://dmapi.joker.com/request/domain-set-property?domain=example.com&privacy=off&auth-sid=   Fetch real contact data from privacy protected domain: https://dmapi.joker.com/request/query-whois?domain=example.com&internal=1&auth-sid=   NOTE : Not retrieved replies will be kept on the server for a period of 30 days, after this time,  only the status of specific request will be available (success or failure). IMPORTANT : Please also note that the registration/renewal period is in MONTHS, NOT YEARS !  Account and Handling login Login with Username & Password   Requires (mandatory): username Joker.com username (email address) password Joker.com password Returns: Auth-SID Authenticated Session ID, must be provided with any other request (parameter auth-sid ) List of TLDs List of domain TLDs which are available to the reseller. To be able to use the entire API, you must have a reseller account with Joker.com (and use this account to log in).   Example:   https://dmapi.joker.com/request/login?username=johndoe&password=mypass Login with API Keys Instead of using your user- and password credentials, you may also use so called ' API keys ' for login. This way, you can create several DMAPI access facilities, which has several advantages: you do not need to expose username and password in your scripts API keys can be restricted to be "read only" (no modifications possible), or to allow 'modifications only' (can not produce costs) you may hand API keys to your staff to enable them to do specific things with Joker.com Create your API keys in ' My Profile ' in section ' Manage Joker.com API access keys ' Example usage: https://dmapi.joker.com/request/login?api-key=Key_created_in_your_Profile_at_Joker.com The result is the same as for "login"-request, you have to use the provided auth-sid for the subsequent actions. logout Returns: Nothing Used to forcibly close (terminate) a session. The session identified by Auth-SID may not be used anymore to send requests. Normally not required as session will timeout anyway (default: 1 hour). result-list Accepts: pending get results of requests still in progress showall get all results incl. deletes using result-delete period get results for specifed period of days (default: 90) date get results received on (or before) specified date. When date is specified, parameter "period" will be applied to this date (instead of today) and defaults to 1 offset start dispalying results from specified position limit only get number of results specified by limit status get results having specified status (ack/nack/?) count-only   when set to 1, only count number of records and return single line in format "Records: N" All following filters may use patterns ("*" and "?") rtype get results for requests of specified type (domain-register/etc) objid get results for specified object ids (domain names, contacts, hosts) procid get results for specified proc-id svtrid get results for specifued SvTrId cltrid get results for specified ClTrId   Returns: List of answers from joker.com (one per line): TimeStamp SvTrId Proc-ID request-type status ClTrId Where: TimeStamp: The time when request was made, YYYYMMDDHHMMSS SvTrID: Tracking-Id associated with this request. Proc-ID: Proc-Id associated with this request. request-type: The type of the request. request-object: The object name (host, domain or contact handle) status: ack, nack or ?, where ack means that request was completed successfully. ClTrId: User specified transaction ID, or "-" if nothing was provided by the user   Example: https://dmapi.joker.com/request/result-list result-retrieve Accepts: Proc-ID One of these must be specified. If both are specified, SvTrId has precedence. SvTrID Returns: Answer (processing result) associated with specified Tracking/Processing ID. If detailed information (content) is not available, only status will be returned Please note: Since there is no requirement of uniqueness for user-specified transaction ids, it is not possible to use them to retrieve specific results.  Example:   https://dmapi.joker.com/request/result-retrieve?proc-id=8181810&auth-sid= result-delete   Accepts: Proc-ID One of these must be specified. If both are specified, SvTrId has precedence SvTrID Returns: A descriptive message (confirmation) in case of success. This request will delete the content (not the status) of a reply to an asynchronous request. Deleted results will not be listed anymore when using  result-list . query-profile  Returns: Returns reseller profile data in format "key: value". May be used to query account balance   Example: https://dmapi.joker.com/request/query-profile query-account-balance Returns: Returns actual account balance - available, pending and total. Example: https://dmapi.joker.com/request/query-account-balance You will get a response like this: Status-Code: 1000 Status-Text: OK Columns: available,pending,total,currency Separator: TAB 975.00 25.00 1000.00 USD The columns are: available amount available for orders pending amount reserved for pending operations (renewals, transfers etc) total the sum of available and pending, i.e. the effective balance currency currency of your account query-order-list Parameters show-all Show all orders including those which did not incur any charges. after Show only orders after specified date (inclusive). Date must be in ISO format: YYYY-MM-DD before Show only orders before specified data (inclusive).   If neither "after" or "before" is specified, the default is a list of orders within last 30 days. type Show only orders of specified type. Types are: create create domain renew renew domain transfer transfer domain restore restore domain from RGP delete_domain delete domain cor COR (Change Of Registrant aka Domain Owner Change) create-contact create contact autons modify DNS zone lock lock domain unlock unlock domain privacy_pp1 Privacy Basic privacy_pp2 Privacy Pro credit-increase account top-up payment_fee payment fee, amount deducted from account top-up status Show only orders with specified completion status.   Possible values are: ok, error, pending tld Filter by TLD. By default all TLDs are included. fqdn Filter by FQDN (domain name). By default all domains (and other objects) are included. fqdn-like Filter by FQDN with wilcards. Wildcards are "*" (any number of any characters) and "?" (exactly one any character).   Example : "*.com" will list orders involving any .com domains. order-id Only show order with specified id. order-id-after Show orders with ids greater or equal than specified. order-id-before Show orders with ids less or equal than than specified. proc-id Only show order with specified processing id. proc-id-after Show orders with processing ids greater or equal than specified. proc-id-before Show orders with processing ids less or equal than than specified. limit Limit the number of returned rows. Used only when above described id ranges are specified. Ignored when parameters  after or before are used.   The default (and the maximum) is 1000. asc If true, sort ascending - recent orders come last. The default is false - recent orders come first. separator Use specified separator in table output. Default is "tab". Possible values:   tab \t comma , semicolon ; pipe | num-comma If true, use comma (",") as decimal separator in numbers. Default is false, i.e. use dot (".")   Please note that "comma" separator cannot be used when "num-comma" is set to "true". csv If true, return result as a downloadable CSV file, without DMAPI headers. per-page Number of rows returned per single request when using paging. Must be at least 10. page Page number when per_page is set. Pages are numbered starting with 1. count-only Only count number of rows that would be returned given specified parameters. Returns A CSV-like list following the usual DMAPI header: Status-Code: 1000 Status-Text: OK Row-Count: 6 Columns: order_id,proc_id,created_at,status,type,amount_brutto,amount_netto,currency,identifier 85671266 917263183 2024-03-17T07:58:14Z ok renew 10.19 10.19 USD example.org 85671265 917263182 2024-03-17T07:58:12Z ok renew 10.19 10.19 USD example.com 85671256 917263173 2024-03-17T07:57:06Z ok renew 29.40 29.40 USD example.net 85671255 917263172 2024-03-17T07:57:05Z ok create 2.00 2.00 USD example.zone 85671227 917263144 2024-03-17T07:54:07Z ok service_request 0 0 example.com 85671226 917263143 2024-03-17T07:54:07Z ok create-contact 0 0 CCOM-91167381 Output columns description order_id Order ID proc_id Processing ID created_at Order creation time (UTC) status Order status: ok, error, pending type Order type amount_brutto Amount charged including VAT. If VAT is not deducted then it has same value as amount_netto. amount_netto Amount charged excluding VAT. currency Currency if amount is non-zero; empty if amount is zero. identifier Domain or other object name that is affected by the order Positive amounts are amounts paid , i.e. deducted from your balance. Negative amounts are amounts received , i.e. added to your balance. This usually happens if you get a refund. If status is not ok , then the amount is neither added or deducted - it is just a reference to the cost of the order. If show-all=false  (the default) then only orders processed within last 3 years are visible. If show-all=true then only orders from last 90 days are visible. Period covered by after / before parameters may not be longer than 90 days. The period is enforced silently , you will get no warning - just orders within 90 days, so if there are none you will see empty response. Empty (no rows) output means that there are no orders matching specified parameters are visible. If you use ranged search by order-id or proc-id and do not limit search period using after and/or before , the maximum number of rows returned is 1000 (and is the default). It could be lowered by using  limit parameter, but 1000 is the maximum anyway. However, if you do use after and/or before parameters, they will be applied independently - this means that if specified id range does not fit into specified time range, you will get no results. Parameters fqdn and fqdn-like actually could be used not only for domain names but for other object identifies, like contact handles - it depends on operation. Please note that all returned data, including amounts charged, is for informational purposes only! The sum of amounts may not exactly match the issued invoices due to possible adjustments related to discounts, manual processing, and other corrections that cannot be properly reflected in this list. Domains query-domain-list Accepts (optional) pattern Pattern to match (globbing, like "dom*") from Start from this item in list to End by this item showstatus Returns additional column, showing domain status; may be 0 or 1 showgrants Returns additional column, showing domain grants; may be 0 or 1 showprivacy     Returns additional columns, showing privacy status; may be 0 or 1 The following columns will be added: privacy-status - shows the currently active privacy status privacy-origin - shows the privacy status, which was bought privacy-expiration - shows the expiration date of privacy Returns List of registered domains and their expiration dates (one per line, separated by whitespace). If "showstatus" is present, the the list will be with three columns, the last one showing domain status (like "lock,autorenew" etc - comma separated). Example: https://dmapi.joker.com/request/query-domain-list?pattern=a*&showstatus=1&auth-sid= domain-register Requires (mandatory) domain Domain name to register period Registration period in months (not in years!) status Set domain status (only "production" is accepted so far) owner-c Owner contact handle billing-c Billing contact handle admin-c Administrative contact handle tech-c Technical contact handle ns-list List of name servers, delimited by colon Accepts (optional) autorenew if set to "1", domain will be autorenewed upon expiration language 3 letter language code for IDN domains registrar-tag Registrar tag, also known as "Membership token", currently only needed for . XXX domains privacy basic|pro|none - adds whois privacy subscription to domain order, see also Whois Privacy Services max-price maximum price user is willing to pay for a domain registration, renewal or transfer. If provided, it must be a number (fractions allowed) above 0. If not provided and domain has non-standard pricing, or if max-price is lower than actual domain price at the moment of registration, the request will fail. If max-price is higher than the actual domain price, then only the actual price will be deducted   This request allows to register a domain. You must have registered contacts (handles) to be able to register a domain.(=> contact-create, query-contact-list) Important: Please note that the registration period is in months, not years . In most cases, this number is a multiple of 12 . Example: https://dmapi.joker.com/request/domain-register?domain=example.com&period=12&status=production&owner-c=COCO-4711&billing-c=COCO-4712&admin-c=COCO-4712&tech-c=COCO-4712&ns-list=a.ns.joker.com,b.ns.joker.com,c.ns.joker.com&auth-sid= domain-renew Requires (mandatory) domain domain name to renew period renewal period in months (not in years!) expyear the wanted expiration year (e.g. '2014') Accepts (optional) privacy       basic|pro|none|keep - adds whois privacy subscription to domain renewal   none: explicitly do a renew without privacy services, even if currently privacy is enabled keep: renew with the same level of privacy service which is currently active for the domain see also Whois Privacy Services max-price   maximum price user is willing to pay for a domain registration, renewal or transfer. If provided, it must be a number (fractions allowed) above 0. If not provided and domain has non-standard pricing, or if max-price is lower than actual domain price at the moment of registration, the request will fail. If max-price is higher than the actual domain price, then only the actual price will be deducted With this request you can renew the domain. Please be aware that all renewals are not refundable. " expyear " is a safety option which can be used instead of "period" to renew domain till specified year (not longer). If you use "period", and by mistake send the request more than once, domain will be renewed again, while with "expyear", it will not be renewed if it's expiration year is greater or equals to specified. Only one of "period" or "expyear" may be used, but not both.   Please note: registration period is in months, not years ! In most cases, this number is a multiple of 12 . to prevent from unintended/errorneous multiple renewals, a specific domain name can only be renewed once per 6 hours. This means, if you want to renew a domain for 2 years, you should use a period of "24" - in case you want to renew using two requests with a period of "12", the 2nd request must not be sent before 6 hours after the 1st one. Example:   https://dmapi.joker.com/request/domain-renew?domain=example.com&period=12&auth-sid=   Example for adding a key (and enabling DNSSEC): 1 http://dmapi.joker.com/request/domain-modify?domain=example.de&dnssec=1&ds-1=256:3:5:AwEAAd4TaRzEn0zJfw9w2qkazHTqOX97XwNzoDHMKgClJbX/jr9YGdCYKpTfcKQbVmpI4EVBJOjNWawOJEgpVivw53yHbtEFLOCSYyjwHuXaWiEv0sESNAoPCXQurp4tbHSlnRpyxyzV3dsh9/qUIkJEXxcEuFPaLG3bz1z0Ude6gMXr 1 http://dmapi.joker.com/request/domain-modify?domain=example.com&dnssec=1&ds-1=38698:5:1:AFE249392848D0458B3967BA1EE9BDEA6C3ECB43 Example for removing DNSSEC information: 1 https://dmapi.joker.com/request/domain-modify?domain=example.com&dnssec=0 domain-delete Requires (mandatory) domain domain name to delete Accepts (optional) force       if present and set to '1', 'Y' or 'Yes', the domain will be deleted even if older than 72 hours. With this request you can delete a domain. If you delete a domain ( gTLDs only ) within the first 72 hours after the registration, the registration-fee will be refunded to your account. To delete a domain which is registered for more than 72 hours, you must specify "force=1", otherwise the request will be rejected. Please note: The number of refundable deletions of domains per month is limited, and depends on the number of domains in a portfolio, and the related TLD registry. Example: https://dmapi.joker.com/request/domain-delete?domain=example.com&force=1&auth-sid= domain-owner-change Requires domain domain name to change the owner of name (optional) full name (if empty, fname + lname will be used) fname first name lname last name title (optional) individual (optional) Y, Yes, N, No organization (optional if individual) email mailaddress of the contact address-1 street address address-2 (optional) address-3 (optional) city state (optional) postal-code country ISO country code (2 letters) phone extension (optional) fax (optional)     lock-opt-out (optional) yes, no  (new IRTP-C: do not apply a 60 days transfer lock to the domain) With this request you can change the visible WHOIS owner of a domain. Either "name" or "lname" and "fname" must be provided. Fields not marked as optional are mandatory, and must not be empty. For the revised ICANN IRTP-C (change of registrar) policy, please also visit our documentation . Example: 1 https://dmapi.joker.com/request/domain-owner-change?domain=example.com&fname=John&lname=Doe&email=johnd@someisp.com&address-1=Smartroad 1&city=Smalltown&postal-code=40122&country=US&phone=+1.422.8001&auth-sid= domain-lock Requires (mandatory) domain domain name to lock With this request you can lock a domain to prevent from fraudulent transfer attempts . If a domain is locked, each transfer-request from a foreign registrar will be declined.   Example: https://dmapi.joker.com/request/domain-lock?domain=example.com&auth-sid= domain-unlock Requires (mandatory) domain domain name to unlock With this request you can unlock a domain . If you want to transfer a domain to a foreign registrar, it has to be unlocked.   Example: https://dmapi.joker.com/request/domain-unlock?domain=example.com&auth-sid= domain-transfer-in-reseller Requires (mandatory) domain full qualified domain name to transfer to Joker.com transfer-auth-id AUTH-ID required for all domains except .eu owner-c new owner contact handle to be used for transferred domain   Accepts (optional) admin-c new admin contact handle tech-c new tech contact handle billing-c new billing contact handle status new domain status to be set after transfer (lock, production) period renewal period in months, not in years! [not in use, please leave empty] autorenew Autorenew flag for the domain (0 or 1); if not set explicitly, defaults to 1 ns-list   list of colon-separated nameservers privacy basic|pro|none - adds whois privacy subscription to domain transfer, see also Whois Privacy Services max-price maximum price user is willing to pay for a domain registration, renewal or transfer. If provided, it must be a number (fractions allowed) above 0. If not provided and domain has non-standard pricing, or if max-price is lower than the actual domain price at the moment of registration, the request will fail. If max-price is higher than the actual domain price, then only the actual price will be deducted With this request you can initiate a transfer of the domain from another registrar to Joker.com. You have to provide a valid AUTH-ID (you have to request this from the current provider of the domain).  Please note: please make sure, that there is no so-called 'registry lock' active for the domain to be transferred. Please verify, that the current registrar does not block the domain, resp. deactivates the blocking the domain to be transferred must have been active for at least 60 days at the current registrar, otherwise the transfer may fail the domain to be transferred must not be object of an active ICANN UDRP dispute procedure the domain should have a remaining term of least 7 days, to ensure that the transfer succeeds within the time limits (a maximum of 5 days is granted to confirm or object a transfer). In case the domain has less than 7 days of remaining term, a successful transfer cannot be warranted. this procedure will trigger email notifications to the owner and the admin contact of the domain to be transferred (this is following mandatory ICANN transfer provisions) Example: https://dmapi.joker.com/request/domain-transfer-in-reseller?domain=example.com&transfer-auth-id=abc123xyz&owner-c=COCO-4711&admin-c=COCO-4712&tech-c=COCO-4712&billing-c=COCO-4712&auth-sid= domain-set-property Requires (mandatory) domain domain name or pattern pname property name  pvalue property value (may be empty)   With this request you can set a property (flag) for a domain or a set of domains, selected by wildcard pattern. List of available properties and their effects: autorenew 0 or 1 If set to 1, the domain will be automatically renewed on expiration (if you have enough funds in your account) whois-opt-out  0 or 1 currently only used for .tel domains; if set to 1, owner information will not be shown in whois privacy off or basic or pro (if available) gdpr-opt-in 0 or 1 opt-in to display contact data which is normally redacted by GDPR If an empty value is provided, then the property will be cleared, i.e. the default will be used. Example: https://dmapi.joker.com/request/domain-set-property?domain=example.com&pname=autorenew&pvalue=1&auth-sid= domain-get-property Requires domain domain name pname property name (same as in domain-set-property) With this request you can query the value of a specific property set for a domain.  It returns a single line, which looks like: 1 autorenew: 0 Example: 1 https://dmapi.joker.com/request/domain-get-property?domain=example.com&pname=autorenew&auth-sid= domain-transfer-get-auth-id Requires domain domain name to get AUTH-ID for   Retrieves domain's Auth-ID , which is required when transfering domains to another registrar. This request is not real-time, i.e. you have to check detailed reply (use "result-retrieve") to get the Auth-ID.   Please note : Every request will generate a new Auth-ID , thus rendering any previously requested Auth-ID invalid.   Example: 1 https://dmapi.joker.com/request/domain-transfer-get-auth-id?domain=example.com&auth-sid= domain-transfer-control This request allows to retrieve status information for all pending transfers. Additionally, transfers can be cancelled, or the FOA email can be re-sent.  Parameters: action One of: list, show, resend-foa, cancel domain Domain name to control transfer of (ignored when action= list ) action= list When action=list, this request returns a list (columns are separated by tabs) of all currently pending transfers: where is one of (listed in "natural" transition order): IN_DB PAYMENT_PREPARED PAYMENT_ACQUIRED PENDING_FOA_SENDING Joker.com could not parse the recipient of the FOA. Manual action from Joker.com is required and happens during office hours, thus in worst case it may take few days (during weekend or holidays). FOA_BEEN_SENT FOA is sent and Joker.com is waiting for owner's reaction. Owner has 5 days to react, thus the state may last up to 5 days. FOA_NACK FOA is rejected FOA_ACK FOA is accepted REGISTRY_REQUEST_SENT REGISTRY_REQUEST_RECEIVED_NOW_WAITING FOA had been accepted, transfer request is sent and the losing registrar has to release the domain. This state may take up to 5 days, we could do nothing to speed it up. While in this state, transfer may be cancelled by using "action=cancel". REGISTRY_CANCELATION_PENDING The user has requested cancel of domain transfer by using "action=cancel". DOMAIN_WITH_JOKER_PENDING_COMPLETE The domain is actually with Joker.com, but either we haven’t noticed yet (batch pending) or manual work is necessary. Please contact Joker.com if this state lasts longer than 1 hour. PAYMENT_COMMITTED TRANSFER_PROCESSED_SUCCESSFULLY action= show When action= show , the status of a specified domain is returned like: domain: example.com status: FOA_BEEN_SENT owner_email: owner@example.com admin_email: admin@example.com transfer-id: 123456 action= resend-foa When action=resend-foa, FOA will be resent (only possible in state FOA_BEEN_SENT). action= cancel When action=cancel, the (pending) transfer will be cancelled. Returns Status code is 1000 for successful request, or >= 2000 otherwise. Example https://dmapi.joker.com/request/domain-transfer-control?domain=example.com&action=resend-foa domain-check Requires (mandatory) domain domain name to check Accepts (optional) check-price If provided, specifically check the price for: create , renew , transfer , restore period If provided, price will be calculated based on specified period. Period may be specified in years (values from 1 to 10) or in traditional for DMAPI months (>= 12, must be a multiple of 12). language Relevant only for IDN domains, specifies language as 2 letter (ISO 639.1) or 3 letter (ISO 639.2) code: https://www.loc.gov/standards/iso639-2/php/code_list.php     With this request you can check if a domain is available for registration, and what type of domain pricing will be applied for different types of orders. Returns one or more lines with key-value pairs as follows: domain-status: can be one of: available regular domain (non-premium) available for registration premium premium domain available for registration unavailable domain is not available for registration If is "unavailable", then domain-register request will fail, though domain-transfer-* and domain-renew (if domain is with Joker.com) are possible, of course. domain-status-reason: Provides human-readable description why domain is unavailable for registration, like blocked , reserved , registered etc. May be absent if registry does not provide specific reason. Should not be parsed as value is registry dependent and could be virtually anything. domain-class: Specifies price-class. Anything but "standard" is considered "premium", though some registries use "tier-1", "premium", "BBB" etc. Mostly a hint, values except "standard" should not be interpreted as they have no useful meaning and vary among registries. domain-price-: y Reports domain price, where will be value provided in check-price parameter, i.e. create, renew, transfer, restore. is the final price, i.e. amount that will be deducted from the user's account, considering all discounts, promos etc. is a 3-letter currency code, serves only as information. is reported in years and suffixed by "y", like "5y", and it may be different from "period" parameter value (depends on registry), for instance when requested period is not available, too low or too high. The price reported is valid only for specified period, i.e. if price is 100 for 2 years it does not necessarily mean that price for 1 year is 50, thus it only makes sense to check price for the period which will be used verbatim in subsequent request of specified . domain-price-promo: and are ISO timestamps in format like 2019-07-01T00:00:00.000Z For domains that have promotional pricing, this provides start and end timestamps of promotional period. Usually its mere presence means that promo-pricing is in effect, but to be sure values have to be checked explicitly. If "domain-status" returned "premium" or "domain-class" returned anything but "standard", then the parameter max-price must be present in register/transfer/renew requests. Full response example (web.blog): domain-status: unavailable domain-status-reason: blocked domain-class: standard domain-price-create: 8.21 USD 1y domain-price-promo: 2019-09-01T00:00:00.000Z 2019-12-31T23:59:59.000Z Example: https://dmapi.joker.com/request/domain-check?domain=example.com&auth-sid= Contacts For a complete list of contact handle prefixes used across all TLDs, please refer to the Contact Prefix Reference Table query-contact-list Accepts: pattern pattern to match (against handle) from start from this item in list to end by this item in list tld limits output to contact handles which may be used with specified toplevel domain ( tld ), like "com". extended-format provides additional information for every contact listed: name & organization. May be "1" or "0", defaults to "0" Returns: List of registered contacts (handles), one per line. When "extended-format" is requested, output columns are separated by tabs ("\t"), and "Columns" header provides column names.   Example: https://dmapi.joker.com/request/query-contact-list?pattern=coco-47*& tld =com&auth-sid= contact-create Requires: tld target TLD where this contact is intended to be used. name full name (if empty, fname + lname will be used) fname first name (required for .FI contacts) lname last name (required for .FI contacts) title (optional) individual (optional) Y, Yes, N, No organization (optional if individual) email email address of the contact address-1 street address address-2 (optional) city state (optional) postal-code country ISO country code (2 letters) phone fax (optional) lang language to use for .EU contacts app-purpose required for .US contacts nexus-category required for .US contacts nexus-category-country required for .US contacts account-type required for .UK contacts, if used as owner contact company-number required for .UK contacts with specific account types orgid required for .SE/.NU contacts vatid (optional) for .SE/.NU contacts x-ficora-type required for .FI contacts x-ficora-is-finnish (yes/no) required for .FI contacts x-ficora-registernumber  required for .FI contacts, if ficora-type is company x-ficora-identity required for .FI contacts, if type is person and finnish x-ficora-birthdate required for .FI contacts, if type is persion and not finnish x-ficora-legalemail (optional) for .FI contacts Either "name" or "lname" and "fname" must be provided.  Fields not marked '(optional)' are mandatory (and must not be empty). Parameters "lname" and "fname", if provided, will be converted to "name" (simple concatenation of "fname" and "lname"), because registries support only "name" format. In general, use of "fname" and "lname" is deprecated, and support for these fields will be removed in version 1.2. " orgid " represents Swedish personal or organisational number and is required for .SE/.NU contacts. It starts with ISO 3166 Alpha-2 country code in square brackets. If the country code for Sweden is given [SE] a valid Swedish personal or organisational number must be given (6 digits, dash, 4 digits), otherwise 1 to 123 characters can follow. If organization is empty and the country code for Sweden [SE] is given, orgid must be a personal number, not an organisational number. " vatid " is optional for .SE/.NU contacts. It starts with a two letter country code (uppercase), followed by an optional space, followed by a country specific string containing digits 0-9, and letters a-z and A-Z, maximum 64 Chars. For .fi contacts: "x-ficora-type" is required for .fi contacts. The following values are accepted: privateperson, company, corporation, institution, politicalparty, township, government, publiccommunity "x-ficora-registernumber" is required if x-ficora-type is set to "company". "x-ficora-is-finnish" is always required for .fi contacts: yes = finnish company or person, no = not a finnish person or company "x-ficora-identity" is required for .fi contacts, if x-ficora-type is set to 'privateperson' and x-ficora-is-finnish is set to 'yes' "x-ficora-birthdate" is required for .fi contacts, if x-ficora-type is set to 'privateperson' and x-ficora-is-finnish is set to 'no' in the following date format "YYYY-MM-DD". For .uk contacts: "account-type" is a required for all .UK contacts which will be used as domain owner contacts. Possible values are:   Value  Meaning LTD UK Limited Company PLC UK Public Limited Company PTNR UK Partnership STRA UK Sole Trader LLP UK Limited Liability Partnership IP UK Industrial/Provident Registered Company IND UK Individual (representing self) SCH UK School RCHAR UK Registered Charity GOV UK Government Body CRC UK Corporation by Royal Charter STAT UK Statutory Body OTHER UK Entity that does not fit into any of the above (e.g. clubs, associations, many universities) FIND Non-UK Individual (representing self) FCORP Non-UK Corporation FOTHER Non-UK Entity By default, if "account-type" is not provided, value "FIND" or "IND" will be used  (dependent "country" value - for GB and UK it will be "IND" , for everything else "FIND" ).   "company-number" is required when "account-type" is one of: SCH, RCHAR, LTD, PLC, LLP, IP Known extensions, grouped by TLD .be Extension Value Meaning x-be-lang (en|fr|nl) Language for emails from the registry to contact. x-be-type (owner|admin|tech|licensee|onsite) type for the contact x-be-vatid Vatid of the company .ca Extension Value x-ca-legal-type (ABO|ASS|CCO|CCT|EDU|GOV|HOP|INB|LAM|LGR|MAJ|OMK|PLT|PRT|RES|TDM|TRD|TRS) .cn Extension Value Meaning x-cn-owner-id-number [\x20-\xff]{1,30} Passport ID or company ID from official docs x-cn-owner-id-type (SFZ|HZ|GAJMTX|TWJMTX|WJLSFZ|GAJZZ|TWJZZ|JGZ|QT|ORG|QT|YYZZ|TYDM|BDDM|JDDWFW|SYDWFR|WGCZJG|SHTTFR|ZJCS|MBFQY|JJHFR|LSZY|WGZHWH|WLCZJG|SFJD|JWJG|SHFWJG|MBXXBX|YLJGZY|GZJGZY|BJWSXX|QTTYDM) for I only (SFZ, HZ, GAJMTX, TWJMTX, WJLSFZ, GAJZZ, TWJZZ, JGZ, QT) allowed! x-cn-owner-type (E|I) E=Enterprise, I=Individual at, co.at, or.at Extension Value Meaning x-atnic-type (privateperson|role|organisation) type for the contact .uk, .co.uk, .me.uk, .net.uk, .plc.uk, .org.uk, .ltd.uk Extension Value Meaning x-nominet-trading-name [\x20-\xff]{1,50} The trading name of the organization x-nominet-company-no [\x20-\xff]{1,30} The registered company number x-nominet-type (LTD|PLC|PTNR|STRA|LLP|IP|IND|SCH|RCHAR|GOV|CRC|STAT|OTHER|FIND|FCORP|FOTHER) account type .de Extension Value Meaning x-de-type (person|role|org) type for the contact .dk Extension Value Meaning x-dk-user-id-number .* user id for .dk domains x-dk-user-type (COMPANY|PERSON|PUBORG|ASSOCIATION) user type for .dk domains .eu, .xn--e1a4c, .xn--qxa6a Extension Value Meaning x-eu-natural-person (true|false) if set it is used x-eu-country-of-citizenship [A-Z]{2,2} country code x-eu-lang (bg|cs|da|de|el|en|es|et|fi|fr|ga|hr|hu|it|lt|lv|mt|nl|pl|pt|ro|sk|sl|sv) Sets the domain owners language displayed in the EURid WHOIS. x-eu-type (owner|admin|onsite) type for the contact .fi Extension Value Meaning x-ficora-birthdate \d{4}-\d{2}-\d{2} birthdate for owner contact x-ficora-identity ([\w\-]{5,20}) identity number of private individuals x-ficora-is-finnish (yes|no) Is it a Finnish person or company? x-ficora-legalemail !@email if type=company, it must be present x-ficora-registernumber .{3,30} registration number for companies x-ficora-role (billing|admin|tech|owner) role of contact x-ficora-type (association|privateperson|company|corporation|institution|politicalparty|township|government|publiccommunity|municipality) type of contact .fr Extension Value Meaning x-fr-announce \d+ "The ""announce"" attribute shows the number of the announcement(e.g. 5). Only digits allowed" x-fr-birthcity [\x20-\xff]{1,30} Only for natural persons born in France... x-fr-birthdate \d{4}-\d{2}\-d{2} The registrant's birthdate x-fr-birthpc [\x20-\xff]{1,30} postcode of the place of birth x-fr-birthplace [A-Z]{2} birthplace country code x-fr-date-association \d{4}-\d{2}\-d{2} date of association x-fr-date-publication-jo \d{4}-\d{2}\-d{2} date of publication JO x-fr-duns [\x20-\xff]{1,30} Company DUNS x-fr-local [\x20-\xff]{1,30} Company Local x-fr-numero-de-page-announce-jo \d+ page number of announcement x-fr-restrict-pub \d{1} 0=show, 1=do not show x-fr-siren-or-siret [\x20-\xff]{1,30} SIREN/SIRET number x-fr-trademark [\x20-\xff]{1,30} Trademark number x-fr-vatid [\x20-\xff]{1,30} Company VAT ID x-fr-waldec \d+ Waldec ID .ie Extension Value Meaning x-ie-applicant .* Name of applicant x-ie-applicant-class (Company|Business Owner|Club/Band/Local Group| School/College|State Agency|Blogger/Other)   .it Extension Value x-it-consentforpublishing [0|1] x-it-entity-type [1|2|3|4|5|6|7] x-it-pin (.*) x-it-sect3-liability [0|1] x-it-sect5-personal-data-for-registration [0|1] x-it-sect6-personal-data-for-diffusion [0|1] x-it-sect7-explicit-acceptance [0|1] .nl Extension Value Meaning x-nl-legal-form (ANDERS|BGG|BRO|BV|BVI/O|COOP|CV|EENMANSZAAK|EESV|KERK|MAATSCHAP|NV|OWM|PERSOON|REDR|STICHTING|VERENIGING|VOF) legal form of the contact x-nl-legal-form-registration-no [\x20-\xff]{1,30} registration number of the company. .nu Extension Value Meaning x-iinu-orgid [\x20-\xff]{1,30} organisation id for the contact x-iinu-vatid [\x20-\xff]{1,30} vatid for the contact .se, .pp.se Extension Value Meaning x-iise-vatid [\x20-\xff]{1,30} vatid for the contact x-iise-orgid [\x20-\xff]{1,30} organisation id for the contact .sk Extension Value Meaning x-sk-contact-ident-number .* commercial registration number for companies; personal ID for natural persons x-sk-contact-legal-form (CORP|PERS) CORP=Company/org; PERS=natural person .us Extension Value Meaning x-us-app-purpose [Pp][12345] .us purpose of contact x-us-nexus-category ([Cc])(11|12|21|31|32) .us nexus category x-us-nexus-category-country !@country .us nexus category country .xxx Extension Value Meaning x-xxx-membership-token [\x20-\xff]{1,30} Registrar tag for domains Please note: Parameters listed here (except " tld ") may be used (or are required) in other requests, this is indicated by referring to "Contact fields". "lang" must contain two-letter ISO country (language) code, and is only required when creating .EU contacts. The purpose is to specify language to be used in notifications emails, sent from EURid. Please note - this field cannot be modified later, and the default is 'EN' (English)! "app-purpose", "nexus-category" and "nexus-category-contry" are required only when creating .US contacts, and cannot be modified later.   Example: https://dmapi.joker.com/request/contact-create? tld =com&name=John Doe&email=johnd@someisp.com&address-1=Smartroad 1&city=Smalltown&postal-code=40122&country=US&phone=+1.422.8001&auth-sid= Nameservers query-ns-list Accepts: pattern pattern to match (against host name, like "ns.dom*") full include IPs if non-zero (0 or 1)   Returns: List of registered name servers, one per line. If "full" is non-zero, then the list will include IP addresses, IPv4 (2nd column) and IPv6 (3rd column). Columns will be separated by tab ("\t") character. If specific IP is not present (say, there is only IPv4 or IPv6), it will be listed as "-".   Example of list with IPs: 1 2 ns.example.com 1.2.3.4 - ns6.example.com - FE80:0000:0000:0000:0202:B3FF:FE1E:8329 Example:   https://dmapi.joker.com/request/query-ns-list?pattern=*my-own-ns*&full=1&auth-sid= ns-create Requires: host Full qualified host name ip IPv4 address (must not be from IANA's reserved range) ipv6 IPv6 address (short notation like fec0::17 is accepted) With this request a new nameserver can be registered with the registry. This is needed to use a nameserver with glue records. Either an IPv4 or IPv6 address is required. Multiple IPs could be specified using "," (comma) as a separator, like "ip=1.2.3.4,4.5.6.7" ns-modify or host-modify Requires: host full qualified host name ip IPv4 address (must not be from IANA's reserved range) ipv6 IPv6 address (short notation like 'fec0::17' is accepted) With this request you can modify the IP address of a registered nameserver.  Multiple IPs could be specified using "," (comma) as a separator, like "ip=1.2.3.4,4.5.6.7" ns-delete or host-delete Requires: host Full qualified host name With this request you can delete a registered nameserver. Modify Zonedata dns-zone-list Accepts: pattern Pattern to match (globbing, like "dom*") Returns: List zones (domains) which are managed and served by Joker.com name servers. Zones are listed one per line. dns-zone-get Requires: domain Zone (domain) name to fetch data from   Accepts: include-defaults If specified with value "1", the zone will always include default values (which are omitted otherwise) Returns: Returns list of zone records. The format of zone is as follows (one record per line):