CONNECT APP
Build with IONOS Hosting Services
Infrastructure & Cloud
- API key
MCP
Give your agent IONOS Hosting Services tools
Every IONOS Hosting Services action is exposed as an MCP tool on Pipedream's remote server. Point a client at it with your end user's ID and Connect resolves that user's IONOS Hosting Services account for each tool call — you store no tokens.
// 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()
// e.g. run Create DNS Records:
const result = await mcp.callTool({
name: "ionos_hosting_services-create-dns-records",
arguments: {
zoneId: "Zone ID",
records: "Records",
},
})# access_token: mint a short-lived token with the Connect SDK — see the MCP guide
headers = {
"Authorization": f"Bearer {access_token}",
"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",
}
async with streamablehttp_client("https://remote.mcp.pipedream.net/v3", headers=headers) as (read, write, _):
async with ClientSession(read, write) as session:
await session.initialize()
tools = await session.list_tools()
# e.g. run Create DNS Records:
result = await session.call_tool("ionos_hosting_services-create-dns-records", {
"zoneId": "Zone ID",
"records": "Records",
})SDK
Run IONOS Hosting Services actions from your backend
Connect a user's IONOS Hosting Services account once, then run Create DNS Records on their behalf from your own code — TypeScript, Python, or plain HTTP.
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-create-dns-records",
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",
},
})from pipedream import Pipedream
pd = Pipedream(
client_id="{oauth_client_id}",
client_secret="{oauth_client_secret}",
project_id="{project_id}",
project_environment="production",
)
result = pd.actions.run(
id="ionos_hosting_services-create-dns-records",
external_user_id="{external_user_id}", # any stable ID for this user in your system
configured_props={
"ionos_hosting_services": {"authProvisionId": "apn_xxxxxxx"},
"zoneId": "Zone ID",
"records": "Records",
},
)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-create-dns-records",
"configured_props": {
"ionos_hosting_services": { "authProvisionId": "apn_xxxxxxx" },
"zoneId": "Zone ID",
"records": "Records"
}
}'TOOLS
IONOS Hosting Services actions
On-demand operations your product or agent can configure and run on behalf of a connected user.
-
Create DNS Records
actionCreate one or more DNS records in a zone. Accepts a JSON array of record objects and returns the created records (each with a newid). Thenamefield in each record must be the fully-qualified domain name (FQDN) including the zone domain — usenewman.example.com, not justnewman. Run List DNS Zones first to get the zone ID and zone domain name, then construct the full FQDN for each record. See the documentation.Writev0.0.2 -
Delete DNS Record
actionPermanently delete a single DNS record from a zone by its record ID. This cannot be undone. Run Get DNS Zone to find the record ID. See the documentation.Writev0.0.2 -
Get DNS Record
actionGet a single DNS record from a zone by its record ID. Returns the record object, for example{"id":"rec-uuid","name":"www.example.com","type":"A","content":"5.6.7.8","ttl":3600}(full fields includerootName,prio,disabled,changeDate). Run List DNS Zones to find the zone ID and Get DNS Zone to find the record ID. See the documentation.Read-onlyv0.0.2 -
Get DNS Zone
actionGet a single DNS zone including itsrecordsarray. This is also the only way to list a zone's DNS records (there is no dedicated list-records endpoint) - use the optionalnameFilterandrecordTypefilters to narrow the returned records, and read each record'sidfor use in the record-level actions. Returns an object like{"id":"4ab3a7e2-1234-5678-abcd-ef0123456789","name":"example.com","type":"NATIVE","records":[{"id":"90d81ac0-3a30-44d4-95a5-12959effa6ee","name":"www.example.com","type":"A","content":"5.6.7.8","ttl":3600}]}. Run List DNS Zones first to obtain a zone ID. See the documentation.Read-onlyv0.0.2 -
List DNS Zones
actionList all DNS zones for the authenticated IONOS Hosting Services account. Returns an array of zone objects, for example[{"id":"4ab3a7e2-1234-5678-abcd-ef0123456789","name":"example.com","type":"NATIVE"}]. Use theidfield (not thenamefield) as the zone ID in other DNS actions. See the documentation.Read-onlyv0.0.2 -
Patch DNS Zone
actionPartially update a DNS zone (HTTP PATCH): for each provided record, all existing records sharing the same name and type are replaced with the provided ones. Records with other name/type combinations are left untouched. For a full zone overwrite use Update DNS Zone (Full Replace) instead. Run List DNS Zones to find the zone ID. See the documentation.Writev0.0.2 -
Update DNS Record
actionUpdate an existing DNS record (HTTP PUT on a single record). Onlycontent,ttl,prio, anddisabledcan be changed - the record'snameandtypeare immutable via this endpoint (delete and recreate to change them). Run Get DNS Zone to find the record ID. See the documentation.Writev0.0.2 -
Update DNS Zone (Full Replace)
actionReplace 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.Writev0.0.2
EVENTS
IONOS Hosting Services triggers
Event sources your backend can deploy for users and receive through a webhook.
No IONOS Hosting Services triggers are available yet.
MULTI-APP
Use IONOS Hosting Services with other popular apps
Most products don't stop at one integration. Pair IONOS Hosting Services with the other apps your users rely on, and ship use cases that span both.
REFERENCE
App details
Reference metadata for the IONOS Hosting Services connector in the Pipedream registry.
- App slug
- ionos_hosting_services
- Authentication
- API key
- Categories
- Infrastructure & Cloud
- Actions
- 8
- Triggers
- 0
- API proxy
- Not available