What this deployment supports.
const url = 'https://api.opdns.io/v1/capabilities';const options = {method: 'GET'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url https://api.opdns.io/v1/capabilitiesComputed from the server’s configuration, the same for every caller, so the
dashboard can hide or explain what this deployment cannot offer. settings
is keyed by the profile Settings field names: supported, an optional
reason (why the setting is unavailable) and, for enumerated settings,
values: every value with its own supported and reason (block_mode
block-page is supported only where the block page host runs;
node_queue_hours lists 0, 1, 12 and 24, keyed as strings;
log_region lists ca, supported, and eu, unsupported with the reason
that it is coming soon). A setting
missing from settings is not offered. features:
destinations_map when destinations rows carry countries (a GeoIP database
is configured), list_reports when list reports are accepted. Anything that
depends on a profile (its node, its plan) is not here.
Responses
Section titled “Responses”Capabilities.
object
Keyed by the profile Settings field names.
object
object
Why the setting is not available here.
Enumerated settings only, keyed by value.
object
object
Why the value is not available, or a caveat.
object
destinations rows carry country (a GeoIP database is configured).
POST /v1/profiles/{id}/list-reports is available.
Examplegenerated
{ "settings": { "additionalProperty": { "supported": true, "reason": "example", "values": { "additionalProperty": { "supported": true, "reason": "example" } } } }, "features": { "destinations_map": true, "list_reports": true }}Rate limited (rate_limited).
object
Stable machine code.
object
Seconds, repeating the Retry-After header (rate limits, offline nodes).
Example
{ "type": "https://opdns.io/problems/rate_limited", "title": "Too Many Requests", "status": 429, "code": "rate_limited", "detail": "too many requests", "request_id": "5f2c9a0e7b1d4c38", "retry_after": 6}