IONOS Hosting Services ACTION
Update DNS Zone (Full Replace)
Replace ALL records in a DNS zone with the provided record set (HTTP PUT / full zone overwrite). Any existing record not present in the payload is permanently removed. For a partial update that only replaces records sharing the same name and type, use Patch DNS Zone instead. Run List DNS Zones to find the zone ID and Get DNS Zone to inspect current records first. See the documentation.
- Action
- Writes data
- Destructive
- API key
- SDK
- MCP
IMPLEMENTATION
Call this tool
Connect a user's IONOS Hosting Services account once, then configure and run Update DNS Zone (Full Replace) from your backend or agent.
import { PipedreamClient } from "@pipedream/sdk"
const pd = new PipedreamClient({
projectId: process.env.PIPEDREAM_PROJECT_ID!,
clientId: process.env.PIPEDREAM_CLIENT_ID!,
clientSecret: process.env.PIPEDREAM_CLIENT_SECRET!,
projectEnvironment: "production",
})
const result = await pd.actions.run({
id: "ionos_hosting_services-update-dns-zone",
externalUserId: "{external_user_id}", // any stable ID for this user in your system
configuredProps: {
ionos_hosting_services: { authProvisionId: "apn_xxxxxxx" },
zoneId: "Zone ID",
records: "Records",
},
})
console.log(result)curl -X POST https://api.pipedream.com/v1/connect/{project_id}/actions/run \
-H "Content-Type: application/json" \
-H "X-PD-Environment: production" \
-H "Authorization: Bearer {access_token}" \
-d '{
"external_user_id": "{external_user_id}",
"id": "ionos_hosting_services-update-dns-zone",
"configured_props": {
"ionos_hosting_services": { "authProvisionId": "apn_xxxxxxx" },
"zoneId": "Zone ID",
"records": "Records"
}
}'// accessToken: mint a short-lived token with the Connect SDK — see the MCP guide
const transport = new StreamableHTTPClientTransport(
new URL("https://remote.mcp.pipedream.net/v3"),
{
requestInit: {
headers: {
Authorization: `Bearer ${accessToken}`,
"x-pd-project-id": "{project_id}",
"x-pd-environment": "production",
"x-pd-external-user-id": "{external_user_id}", // any stable ID for this user in your system
"x-pd-app-slug": "ionos_hosting_services",
},
},
},
)
const mcp = new Client({ name: "my-agent", version: "1.0.0" })
await mcp.connect(transport)
const { tools } = await mcp.listTools()
// listTools() hands your model this tool's input schema, so it can
// fill the arguments itself:
const result = await mcp.callTool({
name: "ionos_hosting_services-update-dns-zone",
arguments: {
zoneId: "Zone ID",
records: "Records",
},
})SCHEMA
Inputs
Pipedream supplies the connected account. Your application provides the operation-specific values below. Dynamic inputs are resolved against that user's account.
| Property | Type | Description |
|---|---|---|
zoneId Zone ID | string | The DNS zone ID (UUID format, e.g. 4ab3a7e2-1234-5678-abcd-ef0123456789). Run List DNS Zones to retrieve available zones; use the id field from each returned object — not the name field (e.g. example.com) or the type field. Required |
records Records | string | JSON array of record objects that will REPLACE all records in the zone. Each object: { "name": "www.example.com", "type": "A", "content": "5.6.7.8", "ttl": 3600, "prio": 0, "disabled": false }. name, type, and content are required; name must be the fully-qualified domain name including the zone domain (e.g. www.example.com) - a short name like www is invalid. type must be one of the DNS record type constants (e.g. A, AAAA, CNAME, MX, TXT). Example: [{"name":"www.example.com","type":"A","content":"5.6.7.8","ttl":3600}]. Required |
REFERENCE
Tool details
Behavior hints are published with the component in the Pipedream registry and surface as MCP tool annotations, so an agent can reason about a tool before it calls it.
- Registry key
- ionos_hosting_services-update-dns-zone
- Version
- 0.0.2
- App
- IONOS Hosting Services
- Authentication
- API key
- Read-only
- No
- Destructive
- Yes
- Open world
- Yes
- Source
- View on GitHub ↗