Endurance

DNS providers

List the DNS challenge providers

Get all ACME DNS-01 challenge providers (read-only static catalog).

GET /acme/dns-providers

curl
curl -X GET "https://appliance.example.com/api/v1/acme/dns-providers" \
  -H "Authorization: Bearer $TOKEN"
PHP
<?php

$url = 'https://appliance.example.com/api/v1/acme/dns-providers';
$headers = [
    'Authorization: Bearer ' . $token,
];

$ch = curl_init($url);
curl_setopt_array($ch, [
    CURLOPT_CUSTOMREQUEST => 'GET',
    CURLOPT_HTTPHEADER => $headers,
    CURLOPT_RETURNTRANSFER => true,
]);

$response = json_decode(curl_exec($ch), true);
curl_close($ch);
Python
import requests

headers = {"Authorization": f"Bearer {token}"}

response = requests.get("https://appliance.example.com/api/v1/acme/dns-providers", headers=headers)
response.raise_for_status()
print(response.json())
JavaScript
const response = await fetch('https://appliance.example.com/api/v1/acme/dns-providers', {
  method: 'GET',
  headers: {
    Authorization: `Bearer ${token}`,
  },
});

const data = await response.json();
Bruno
meta {
  name: List the DNS challenge providers
  type: http
  seq: 1
}

get {
  url: https://{{node-0}}:{{port}}/api/v1/acme/dns-providers
  body: none
  auth: bearer
}

auth:bearer {
  token: {{token}}
}
Response
{
  "status": "success",
  "message": "DNS Challenge Providers",
  "data": [
    {
      "id": "<id>",
      "name": "<name>",
      "type": "<type>",
      "server": "<server>"
    }
  ]
}

Get a DNS challenge provider

GET /acme/dns-providers/{slug}

Path parameters
slug string Required

DNS provider slug (e.g. "cloudflare")

curl
curl -X GET "https://appliance.example.com/api/v1/acme/dns-providers/{slug}" \
  -H "Authorization: Bearer $TOKEN"
PHP
<?php

$url = 'https://appliance.example.com/api/v1/acme/dns-providers/{slug}';
$headers = [
    'Authorization: Bearer ' . $token,
];

$ch = curl_init($url);
curl_setopt_array($ch, [
    CURLOPT_CUSTOMREQUEST => 'GET',
    CURLOPT_HTTPHEADER => $headers,
    CURLOPT_RETURNTRANSFER => true,
]);

$response = json_decode(curl_exec($ch), true);
curl_close($ch);
Python
import requests

headers = {"Authorization": f"Bearer {token}"}

response = requests.get("https://appliance.example.com/api/v1/acme/dns-providers/{slug}", headers=headers)
response.raise_for_status()
print(response.json())
JavaScript
const response = await fetch('https://appliance.example.com/api/v1/acme/dns-providers/{slug}', {
  method: 'GET',
  headers: {
    Authorization: `Bearer ${token}`,
  },
});

const data = await response.json();
Bruno
meta {
  name: Get a DNS challenge provider
  type: http
  seq: 1
}

get {
  url: https://{{node-0}}:{{port}}/api/v1/acme/dns-providers/{slug}
  body: none
  auth: bearer
}

auth:bearer {
  token: {{token}}
}
Response
{
  "status": "success",
  "message": "DNS Challenge Provider",
  "data": []
}