Portfolio Supported AIs Solutions Tasks Email Archive Bring Your Own Code Integrations Pricing

Get Started

ChatGPT

ChatGPT

Start directly →

Ready
Claude

Claude

Directory Connector →

Ready
Mistral

Mistral

Directory Connector →

Ready

Dashboard Always available

DNS Records

⚡ Built-in — Platform Built-in

Read the DNS records of a domain registered through WebsitePublisher and linked to this project, and propose changes: add, change or remove records, or apply a preset for Google Workspace, Microsoft 365 or WebsitePublisher email. A proposed change is not live until the domain owner approves it in the WebsitePublisher dashboard; always tell the user that and give them the review link.

⚡ Built-in — No Setup Required This integration is built into the WebsitePublisher platform. All endpoints are available immediately — no API key needed.

Endpoints (7)

GET list-domains

Domains linked to this project whose DNS WebsitePublisher manages. Routed (external) domains are not listed: their DNS is managed elsewhere.

No input parameters required.

GET list-records

All DNS records of one domain: id, name (@ is the domain itself), full name, type, priority and value (ttl only when ttl_editable is true). Records with locked true are managed by WebsitePublisher (website, SSL certificate, name servers) and cannot be changed. Also returns types (the record types this domain supports), the presets and the changes waiting for approval.

Field Type Required Description
domain string ✓ Yes The domain, e.g. example.com.
GET list-presets

Ready-made mail setups and their parameters: google_workspace, microsoft_365 and websitepublisher_mail (back to WebsitePublisher email).

No input parameters required.

POST propose-change

Propose DNS changes for one domain. Send either ops or preset. ops is a list of {"op":"add","record":{"name":"@","type":"TXT","value":"..."}}, {"op":"update","id":"<id from list-records>","record":{"value":"..."}} or {"op":"delete","id":"<id>"}. Names are relative to the domain (@, www, mail, _dmarc). Use only the types that list-records returns in types (usually A, AAAA, CNAME, MX, TXT, SRV); MX and SRV take a priority, MX records go on @. The change is checked now and then WAITS for the domain owner, who approves or rejects it in the WebsitePublisher dashboard (we email them). Never tell the user the change is live; give them review_url.

Field Type Required Description
domain string ✓ Yes The domain, e.g. example.com.
ops array No List of changes, at most 50 per proposal.
preset string No google_workspace, microsoft_365 or websitepublisher_mail (see list-presets). Use instead of ops.
params array No Preset parameters as an object, e.g. {"verification":"google-site-verification=..."}.
note string No Why this change is needed; shown to the owner.
GET list-changes

Changes of one domain, newest first: pending, applied, rejected, cancelled, expired or failed.

Field Type Required Description
domain string ✓ Yes
status string No Only this status.
limit integer No Default 20, max 100.
GET get-change

One change: status, what it does and who decided on it.

Field Type Required Description
domain string ✓ Yes
change_id integer ✓ Yes
POST cancel-change

Withdraw a proposed change that is still waiting for approval.

Field Type Required Description
domain string ✓ Yes
change_id integer ✓ Yes

MCP Tool Names

When using this integration through an AI assistant (Claude, ChatGPT, Cursor, etc.), the endpoints are available as MCP tools:

EndpointMCP Tool Name
list-domains dns_list_domains
list-records dns_list_records
list-presets dns_list_presets
propose-change dns_propose_change
list-changes dns_list_changes
get-change dns_get_change
cancel-change dns_cancel_change
← Back to all integrations