Hostinger Billing Enable Auto Renewal V1
This descriptor comes from the active versioned Portal catalog.
- Contract tier:
agent_ready - Risk:
write - Catalog version:
hostinger-2026.07.12.1 - Descriptor hash:
94c69010f926f9bbe7744dd50b42c8babe29f5cc796c6ac6d885f3b4a8ef5edf
Use this tool when you need the Hostinger operation Enable auto-renewal. Enable auto-renewal for a subscription. Use this endpoint when enable auto-renewal for a subscription. It calls PATCH /api/billing/v1/subscriptions/{subscriptionId}/auto-renewal/enable against the configured Hostinger account. This changes external Hostinger state and requires confirm=true. Provider parameters: subscriptionId (path, required): Subscription ID The body follows the complete Hostinger schema in inputSchema. Do not place API tokens in arguments; credentials arrive only through protected Portal headers. The result is the normalized Hostinger MCP envelope with data, safe error details, HTTP/rate metadata, and pagination metadata when available. Runtime summary: Use this when you need Hostinger API operation billing_enableAutoRenewalV1: Enable auto-renewal. Enable auto-renewal for a subscription. Use this endpoint when enable auto-renewal for a subscription. Endpoint: PATCH /api/billing/v1/subscriptions/{subscriptionId}/auto-renewal/enable. Path params: subscriptionId. Request body: not expected. Risk class: write. This write tool requires confirm=true. Returns the compact MAD envelope {ok,data,error,meta}; set dry_run=true to preview without calling Hostinger.
Request Body
{
"jsonrpc": "2.0",
"id": "hostinger-billing-enableautorenewalv1-example",
"method": "tools/call",
"params": {
"name": "hostinger.billing_enableAutoRenewalV1",
"arguments": {
"path_params": "",
"body": "",
"params": "",
"compact": "",
"confirm": false,
"dry_run": false,
"max_items": "",
"include_raw": false,
"confirmation_phrase": ""
}
}
}
Arguments Schema
{
"type": "object",
"required": [
"path_params"
],
"properties": {
"body": {
"anyOf": [
{
"type": "object",
"additionalProperties": false
},
{
"type": "null"
}
],
"default": null,
"description": "JSON request body using the complete checked-in Hostinger provider schema."
},
"params": {
"anyOf": [
{
"type": "object",
"properties": {},
"additionalProperties": false
},
{
"type": "null"
}
],
"default": null,
"description": "Exact query parameters for this Hostinger operation, keyed by the provider names shown here."
},
"compact": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null,
"description": "When true, truncate large arrays using MCP_MAX_ITEMS_* limits."
},
"confirm": {
"type": "boolean",
"default": false,
"description": "Required as true for any Hostinger write, spend, or destructive call."
},
"dry_run": {
"type": "boolean",
"default": false,
"description": "Preview the request and risk gates without calling Hostinger."
},
"max_items": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Maximum array items to keep when compacting responses."
},
"include_raw": {
"type": "boolean",
"default": false,
"description": "When true, include raw Hostinger response alongside normalized data."
},
"path_params": {
"anyOf": [
{
"type": "object",
"required": [
"subscriptionId"
],
"properties": {
"subscriptionId": {
"type": "string",
"description": "Subscription ID"
}
},
"additionalProperties": false
},
{
"type": "null"
}
],
"default": null,
"description": "Exact path parameters for this Hostinger operation, keyed by the provider names shown here."
},
"confirmation_phrase": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Required exact phrase for spend, credential, and destructive tools."
}
},
"additionalProperties": false
}
Output Schema
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"ok",
"data",
"error",
"meta"
],
"properties": {
"ok": {
"type": "boolean",
"description": "True only when the requested Hostinger or local catalog operation succeeded."
},
"data": {
"description": "Normalized result data, or null when the operation failed."
},
"meta": {
"type": "object",
"description": "Safe endpoint, timing, pagination, rate, catalog, and next-action metadata.",
"additionalProperties": true
},
"error": {
"description": "Secret-safe structured error details, or null on success."
}
},
"description": "Normalized Hostinger MCP response envelope.",
"additionalProperties": false
}
Code Examples
- cURL
- Node.js
- Python
curl -X POST 'https://portal.madpanda3d.com/api/mcp' \
-H 'Authorization: Bearer mad_live_***' \
-H 'Content-Type: application/json' \
-d '{
"jsonrpc": "2.0",
"id": "hostinger-billing-enableautorenewalv1-example",
"method": "tools/call",
"params": {
"name": "hostinger.billing_enableAutoRenewalV1",
"arguments": {
"path_params": "",
"body": "",
"params": "",
"compact": "",
"confirm": false,
"dry_run": false,
"max_items": "",
"include_raw": false,
"confirmation_phrase": ""
}
}
}'
const response = await fetch('https://portal.madpanda3d.com/api/mcp', {
method: 'POST',
headers: {
Authorization: 'Bearer mad_live_***',
'Content-Type': 'application/json',
},
body: JSON.stringify({
"jsonrpc": "2.0",
"id": "hostinger-billing-enableautorenewalv1-example",
"method": "tools/call",
"params": {
"name": "hostinger.billing_enableAutoRenewalV1",
"arguments": {
"path_params": "",
"body": "",
"params": "",
"compact": "",
"confirm": false,
"dry_run": false,
"max_items": "",
"include_raw": false,
"confirmation_phrase": ""
}
}
}),
});
const data = await response.json();
console.log(data);
import requests
url = 'https://portal.madpanda3d.com/api/mcp'
headers = {
'Authorization': 'Bearer mad_live_***',
'Content-Type': 'application/json',
}
payload = {
"jsonrpc": "2.0",
"id": "hostinger-billing-enableautorenewalv1-example",
"method": "tools/call",
"params": {
"name": "hostinger.billing_enableAutoRenewalV1",
"arguments": {
"path_params": "",
"body": "",
"params": "",
"compact": "",
"confirm": false,
"dry_run": false,
"max_items": "",
"include_raw": false,
"confirmation_phrase": ""
}
}
}
response = requests.post(url, headers=headers, json=payload, timeout=60)
print(response.json())
Example Responses
- 200 Success
- 502 Upstream Error
{
"ok": true,
"message": "Tool hostinger.billing_enableAutoRenewalV1 executed successfully.",
"note": "Response shape varies by MCP tool. Inspect live responses for exact fields."
}
{
"ok": false,
"classification": "upstream_http_error",
"message": "Upstream MCP returned a non-success status."
}