reactivate_subscription
Reactivates a subscription by sending the subscriber an email link to accept within 3 days. Optionally charges immediately.
Instructions
Reactivate Subscription
Reativa uma assinatura. O assinante deve aceitar via link por e-mail (validade de 3 dias).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| subscriber_code | Yes | Código do assinante | |
| charge | No | Cobrar imediatamente |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |
Implementation Reference
- The `reactivate_subscription` async function is the tool handler. It sends a POST request to /payments/api/v1/subscriptions/{subscriber_code}/reactivate to reactivate a subscription. Accepts optional 'charge' body parameter and returns JSON string.
async def reactivate_subscription( subscriber_code: str, charge: Optional[bool] = None, ) -> str: """Reactivate Subscription Reativa uma assinatura. O assinante deve aceitar via link por e-mail (validade de 3 dias). Args: subscriber_code: Código do assinante charge: Cobrar imediatamente""" endpoint = f"/payments/api/v1/subscriptions/{subscriber_code}/reactivate" body = {} if charge is not None: body["charge"] = charge result = await get_client().post(endpoint, json=body) return json.dumps(result, indent=2) - src/hotmart_mcp/tools/subscriptions.py:8-8 (registration)The function is listed in the __all__ export list, making it available for auto-discovery by the server registration mechanism.
__all__ = ["get_subscriptions", "get_subscriptions_summary", "get_subscription_transactions", "get_subscriber_purchases", "cancel_subscription", "batch_cancel_subscriptions", "reactivate_subscription", "batch_reactivate_subscriptions", "change_subscription_due_day"] - src/hotmart_mcp/server.py:21-37 (registration)Auto-discovery registration: _discover_and_register_tools() iterates modules, finds all async functions (including reactivate_subscription), and registers each with mcp.tool().
def _discover_and_register_tools() -> int: """Import all modules under hotmart_mcp.tools and register async functions.""" registered = 0 for module_info in pkgutil.iter_modules(tools_pkg.__path__, prefix=f"{tools_pkg.__name__}."): if module_info.name.endswith("__init__"): continue module = importlib.import_module(module_info.name) for name, obj in inspect.getmembers(module, iscoroutinefunction): if name.startswith("_"): continue mcp.tool()(obj) registered += 1 return registered - src/hotmart_mcp/tools/__init__.py:8-8 (registration)The subscriptions module is re-exported via wildcard import, making reactivate_subscription discoverable by server.py's registration loop.
from .subscriptions import * # noqa: F401,F403 - The imports used by reactivate_subscription: json for serialization, Optional from typing, and get_client from the shared module.
"""Auto-generated Hotmart API tools — subscriptions.""" import json from typing import Optional from hotmart_mcp._shared import get_client __all__ = ["get_subscriptions", "get_subscriptions_summary", "get_subscription_transactions", "get_subscriber_purchases", "cancel_subscription", "batch_cancel_subscriptions", "reactivate_subscription", "batch_reactivate_subscriptions", "change_subscription_due_day"]