> For the complete documentation index, see [llms.txt](https://docs.dnscontrol.org/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.dnscontrol.org/provider/joker.md).

# Joker

## Configuration

To use this provider, add an entry to `creds.json` with your Joker.com credentials:

{% code title="creds.json" %}

```json
{
  "joker": {
    "TYPE": "JOKER",
    "username": "your-username@joker.com",
    "password": "your-password"
  }
}
```

{% endcode %}

You must have a reseller account in joker.com to use the DMAPI.

Alternatively, you can use an API key (if you have created one on the Joker.com website):

{% code title="creds.json" %}

```json
{
  "joker": {
    "TYPE": "JOKER",
    "api-key": "your-api-key"
  }
}
```

{% endcode %}

## Metadata

This provider does not recognize any special metadata fields unique to Joker.

## Usage

An example configuration:

{% code title="dnsconfig.js" %}

```javascript
var REG_NONE = NewRegistrar("none");
var DSP_JOKER = NewDnsProvider("joker");

D("example.tld", REG_NONE, DnsProvider(DSP_JOKER),
    A("test", "1.2.3.4"),
    CNAME("www", "test"),
    MX("@", 10, "mail.example.tld."),
    TXT("_dmarc", "v=DMARC1; p=reject; rua=mailto:dmarc@example.tld"),
END);
```

{% endcode %}

## Limitations

* This provider updates entire zones, not individual records
* Concurrent operations are not supported due to session-based authentication
* Some record types are not supported (see provider capabilities)
* Minimum TTL is 300 seconds

## Notes

* The provider uses Joker's DMAPI (Domain Management API)
* Authentication uses session-based tokens that expire after inactivity
* Zone updates replace the entire zone content
* The provider supports both username/password and API key authentication

## Supported Record Types

* A
* AAAA
* CNAME
* MX
* TXT
* SRV
* CAA
* NAPTR

## Unsupported Record Types

* ALIAS
* DS
* DNSKEY
* HTTPS
* LOC
* PTR
* SOA
* SSHFP
* SVCB
* TLSA

## Feature Summary

* Provider Type
  * [Official Support](/provider/index.md#providers-with-official-support): ❌
  * DNS Provider: ✅
  * Registrar: ❌
* Provider API
  * [Concurrency Verified](/advanced-features/concurrency-verified.md): ❌
  * [dual host](/advanced-features/dual-host.md): ❌
  * create-domains: ✅
  * [get-zones](/commands/get-zones.md): ✅
* DNS extensions
  * [`ALIAS`](/language-reference/domain-modifiers/alias.md): ❌
  * [`DNAME`](/language-reference/domain-modifiers/dname.md): ❔
  * [`LOC`](/language-reference/domain-modifiers/loc.md): ❌
  * [`PTR`](/language-reference/domain-modifiers/ptr.md): ❌
  * [`SOA`](/language-reference/domain-modifiers/soa.md): ❌
* Service discovery
  * [`DHCID`](/language-reference/domain-modifiers/dhcid.md): ❔
  * [`NAPTR`](/language-reference/domain-modifiers/naptr.md): ✅
  * [`SRV`](/language-reference/domain-modifiers/srv.md): ✅
  * [`SVCB`](/language-reference/domain-modifiers/svcb.md): ❌
* Security
  * [`CAA`](/language-reference/domain-modifiers/caa.md): ✅
  * [`HTTPS`](/language-reference/domain-modifiers/https.md): ❌
  * [`SMIMEA`](/language-reference/domain-modifiers/smimea.md): ❔
  * [`SSHFP`](/language-reference/domain-modifiers/sshfp.md): ❌
  * [`TLSA`](/language-reference/domain-modifiers/tlsa.md): ❌
* DNSSEC
  * [`AUTODNSSEC`](/language-reference/domain-modifiers/autodnssec_on.md): ❔
  * [`DNSKEY`](/language-reference/domain-modifiers/dnskey.md): ❌
  * [`DS`](/language-reference/domain-modifiers/ds.md): ❌
