proxy.manage or integrations.manage, so with a token only the zones.read endpoints work.
A Caddy or Traefik proxy that DNZ configures is in the Proxy API instead.
Before v2 these were
/api/divisions/{id}/caddies and /api/caddies/{id} (Sites in DNS). Those
paths are gone: use the ones below.Endpoints
DELETE /api/proxies/{id} on a read-only proxy does the same as its sites delete, for a
superadmin. The other proxy endpoints (edit, approve, token, setup, routes) refuse a read-only
proxy, whose status is read_only.
A read-only proxy
kindiscaddy(the default) ortraefik, set when it’s added; it can’t change afterwards.record_modeisdns(the default: plain records) orproxied(records through this proxy, with one IPv4 and one IPv6 address at most and notarget).- Give either
addresses(A/AAAA, up to 8) ortarget(a CNAME), not both. interval_secsis 15 to 86400.- On
PATCH, fields left out keep their value, and an absentapi_passwordkeeps the stored one (""removes it).
has_password instead, plus id, division,
enabled, last_read_at, last_sync_at, last_error, record_count (records it keeps in DNS),
summary (counts per outcome), last_plan (the hostnames of the last read) and can_manage.
check takes the same body, plus proxy_id to check an existing one’s new settings (and use its
stored password when none is given).
Plans
plan and sync return the hostnames with what happens to each:
status is ok (in DNS already), add, update, remove (left the config), stale (left it,
kept because the proxy only adds), taken (records made by hand or kept by another proxy) or
skipped; reason says why for the last three. plan also returns a summary; sync returns
added, removed, the hosts and the read-only proxy.
When the Caddy or Traefik can’t be read, plan, sync and check answer 502 with
"code": "proxy_unreachable" and the reason.
Records
Records no longer carry acaddy_id. Which records a proxy keeps for its sites comes from
GET /api/zones/{id}/site-records (the zone editor’s badges), for read-only proxies and for a
Traefik proxy’s records from its own routers alike (read_only tells them
apart). Changing a record by hand with PATCH /api/records/{id} takes it off the proxy, so the
proxy leaves that record alone from then on.