> 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/websupport.md).

# WebSupport

## Configuration

To use this provider, add an entry to `creds.json` with `TYPE` set to `WEBSUPPORT` along with your WebSupport API key and secret. Both are generated in the [Security section](https://admin.websupport.sk/en/auth/security) of the WebSupport admin console.

Example:

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

```json
{
  "websupport": {
    "TYPE": "WEBSUPPORT",
    "api_key": "your-api-key",
    "secret": "your-api-secret"
  }
}
```

{% endcode %}

You can also use environment variables:

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

```json
{
  "websupport": {
    "TYPE": "WEBSUPPORT",
    "api_key": "$WEBSUPPORT_API_KEY",
    "secret": "$WEBSUPPORT_SECRET"
  }
}
```

{% endcode %}

### Metadata

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

### Usage

An example configuration:

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

```javascript
var REG_NONE = NewRegistrar("none");
var DSP_WEBSUPPORT = NewDnsProvider("websupport");

D("example.com", REG_NONE, DnsProvider(DSP_WEBSUPPORT),
    A("@", "1.2.3.4"),
    CNAME("www", "@"),
    MX("@", 10, "mail.example.com."),
);
```

{% endcode %}

## Activation

DNSControl uses the [WebSupport REST API v2](https://rest.websupport.sk/v2/docs) to manage your DNS records. Generate an API key and secret in the [Security section](https://admin.websupport.sk/en/auth/security) of the admin console.

Authentication uses HTTP Basic auth where the username is the API key and the password is a per-request HMAC-SHA1 signature derived from the secret. The secret itself is never transmitted.

### Notes and limitations

* **Zones must already exist.** The API has no endpoint to create a zone or to enumerate all zones, so `create-domains` and `get-zones` are not supported. Add domains through the WebSupport portal first.
* **Supported record types:** `A`, `AAAA`, `CNAME`, `MX`, `TXT`, and `SRV`.
* **Unsupported record types**, due to WebSupport v2 API limitations:
  * `NS` — the API silently ignores attempts to create NS records, so they are rejected to avoid an endless create loop. Apex nameservers are managed by WebSupport and are not exposed through the DNS record API.
  * `CAA` — the API does not return the `tag`/`flags` of a CAA record on read, so the record cannot be managed without churn.
  * `ALIAS`/`ANAME` — WebSupport only allows `ANAME` at the apex and rejects it when other apex records exist, so it cannot be supported generically.
  * `LOC`, `NAPTR`, `PTR`, `SSHFP`, `TLSA`, `DS`.
* The provider automatically resolves each domain to its numeric WebSupport service id (used internally by the v2 API); you only need to supply `api_key` and `secret`.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.dnscontrol.org/provider/websupport.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
