Skip to main content

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=<your-current-session-id>

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.