// Auto-generated tool list for group: mail import type { Tool } from "@modelcontextprotocol/sdk/types.js"; export interface OpenApiTool extends Tool { method: string; path: string; security: unknown[]; custom?: boolean; group?: string; topic?: string; handlerMethod?: string; templateFile?: string; templateFileTS?: string; } const tools: OpenApiTool[] = [ { "name": "mail_createAliasV1", "description": "Create an alias for the given mailbox. The alias address is formed\nfrom the given local part and the domain of the mailbox. Messages\nsent to the alias are delivered to the mailbox.", "method": "POST", "path": "/api/mail/v1/mailboxes/{mailboxId}/aliases", "inputSchema": { "type": "object", "properties": { "mailboxId": { "type": "string", "description": "Mailbox resource ID" }, "local_part": { "type": "string", "description": "Local part of the alias address (the part before the @). The domain is taken from the mailbox. Case-insensitive and stored lowercase; must start and end with a letter or digit; single dots, underscores and hyphens are allowed in between." } }, "required": [ "mailboxId", "local_part" ] }, "security": [ { "apiToken": [] } ], "group": "mail" }, { "name": "mail_deleteAliasV1", "description": "Delete an alias. Messages sent to the alias address are no longer\ndelivered to the mailbox.", "method": "DELETE", "path": "/api/mail/v1/aliases/{aliasId}", "inputSchema": { "type": "object", "properties": { "aliasId": { "type": "string", "description": "Alias resource ID" } }, "required": [ "aliasId" ] }, "security": [ { "apiToken": [] } ], "group": "mail" }, { "name": "mail_listAliasesV1", "description": "Retrieve a paginated list of aliases across all mailboxes of a mail\norder.", "method": "GET", "path": "/api/mail/v1/orders/{orderId}/aliases", "inputSchema": { "type": "object", "properties": { "orderId": { "type": "string", "description": "Order resource ID" }, "page": { "type": "integer", "description": "Page number" }, "per_page": { "type": "integer", "description": "Number of items per page" } }, "required": [ "orderId" ] }, "security": [ { "apiToken": [] } ], "group": "mail" }, { "name": "mail_createAPITokenV1", "description": "Create an API token for the given mail order. The token grants access\nto the [Hostinger Email API](https://api.mail.hostinger.com/), where\nyou can provision and manage the mailboxes it is scoped to.\n\nThe plaintext token is returned only in this response, never again.\nA maximum of 10 tokens can exist per order. Use\n`scope.has_all_mailboxes` to cover all current and future mailboxes,\nor list specific mailboxes in `scope.mailbox_ids`.", "method": "POST", "path": "/api/mail/v1/orders/{orderId}/api-tokens", "inputSchema": { "type": "object", "properties": { "orderId": { "type": "string", "description": "Order resource ID" }, "name": { "type": "string", "description": "Human-readable label for this token" }, "scope": { "type": "object", "description": "Mailbox scope this token can access", "properties": { "has_all_mailboxes": { "type": "boolean", "description": "Grant access to all current and future mailboxes of the order" }, "mailbox_ids": { "type": "array", "description": "Required when `has_all_mailboxes` is false. Mailbox resource IDs of this order.", "items": { "type": "string", "description": "mailbox_ids parameter" } } }, "required": [ "has_all_mailboxes" ] } }, "required": [ "orderId", "name", "scope" ] }, "security": [ { "apiToken": [] } ], "group": "mail" }, { "name": "mail_revokeAPITokenV1", "description": "Revoke an API token. The token immediately loses access to the\n[Hostinger Email API](https://api.mail.hostinger.com/). This action\ncannot be undone.", "method": "DELETE", "path": "/api/mail/v1/api-tokens/{tokenId}", "inputSchema": { "type": "object", "properties": { "tokenId": { "type": "string", "description": "API token ID (returned when the token was created)" } }, "required": [ "tokenId" ] }, "security": [ { "apiToken": [] } ], "group": "mail" }, { "name": "mail_listAPITokensV1", "description": "Retrieve a paginated list of\n[Hostinger Email API](https://api.mail.hostinger.com/) tokens across\nall your mail orders, optionally filtered by order. Plaintext tokens\nare never included; they are returned only when a token is created.", "method": "GET", "path": "/api/mail/v1/api-tokens", "inputSchema": { "type": "object", "properties": { "order_id": { "type": "string", "description": "Filter tokens by order resource ID. Single value or comma-separated list." }, "page": { "type": "integer", "description": "Page number" }, "per_page": { "type": "integer", "description": "Number of items per page" } }, "required": [] }, "security": [ { "apiToken": [] } ], "group": "mail" }, { "name": "mail_createAutoreplyV1", "description": "Create an automatic reply for the given mailbox. A mailbox can have\nonly one autoreply. Omit `starts_at` to activate the autoreply\nimmediately and omit `ends_at` to keep it active indefinitely.", "method": "POST", "path": "/api/mail/v1/mailboxes/{mailboxId}/autoreplies", "inputSchema": { "type": "object", "properties": { "mailboxId": { "type": "string", "description": "Mailbox resource ID" }, "subject": { "type": "string", "description": "Subject of the automatic reply" }, "body": { "type": "string", "description": "Body of the automatic reply" }, "display_name": { "type": "string", "description": "Sender display name used for the reply" }, "starts_at": { "type": "string", "description": "When the autoreply becomes active. Defaults to now." }, "ends_at": { "type": "string", "description": "When the autoreply stops. Omit for an indefinite autoreply." } }, "required": [ "mailboxId", "subject", "body" ] }, "security": [ { "apiToken": [] } ], "group": "mail" }, { "name": "mail_updateAutoreplyV1", "description": "Replace the autoreply with the given content and schedule. Omitted\noptional fields are cleared: omit `starts_at` to activate the\nautoreply immediately and omit `ends_at` to keep it active\nindefinitely.", "method": "PUT", "path": "/api/mail/v1/autoreplies/{autoreplyId}", "inputSchema": { "type": "object", "properties": { "autoreplyId": { "type": "string", "description": "Autoreply resource ID" }, "subject": { "type": "string", "description": "Subject of the automatic reply" }, "body": { "type": "string", "description": "Body of the automatic reply" }, "display_name": { "type": "string", "description": "Sender display name used for the reply" }, "starts_at": { "type": "string", "description": "When the autoreply becomes active. Defaults to now." }, "ends_at": { "type": "string", "description": "When the autoreply stops. Omit for an indefinite autoreply." } }, "required": [ "autoreplyId", "subject", "body" ] }, "security": [ { "apiToken": [] } ], "group": "mail" }, { "name": "mail_deleteAutoreplyV1", "description": "Delete the autoreply of a mailbox. The mailbox stops sending\nautomatic replies immediately.", "method": "DELETE", "path": "/api/mail/v1/autoreplies/{autoreplyId}", "inputSchema": { "type": "object", "properties": { "autoreplyId": { "type": "string", "description": "Autoreply resource ID" } }, "required": [ "autoreplyId" ] }, "security": [ { "apiToken": [] } ], "group": "mail" }, { "name": "mail_listAutorepliesV1", "description": "Retrieve a paginated list of autoreplies across all mailboxes of a\nmail order.", "method": "GET", "path": "/api/mail/v1/orders/{orderId}/autoreplies", "inputSchema": { "type": "object", "properties": { "orderId": { "type": "string", "description": "Order resource ID" }, "page": { "type": "integer", "description": "Page number" }, "per_page": { "type": "integer", "description": "Number of items per page" } }, "required": [ "orderId" ] }, "security": [ { "apiToken": [] } ], "group": "mail" }, { "name": "mail_createCatchAllV1", "description": "Create a catch-all that routes all messages sent to unknown addresses\nof the domain to the given mailbox. The mailbox address receives a\nconfirmation email and the catch-all becomes active only after it is\nconfirmed. A domain can have only one catch-all.", "method": "POST", "path": "/api/mail/v1/mailboxes/{mailboxId}/catchalls", "inputSchema": { "type": "object", "properties": { "mailboxId": { "type": "string", "description": "Mailbox resource ID" } }, "required": [ "mailboxId" ] }, "security": [ { "apiToken": [] } ], "group": "mail" }, { "name": "mail_deleteCatchAllV1", "description": "Delete a catch-all. Messages sent to unknown addresses of the domain\nare no longer routed to the mailbox.", "method": "DELETE", "path": "/api/mail/v1/catchalls/{catchallId}", "inputSchema": { "type": "object", "properties": { "catchallId": { "type": "string", "description": "Catch-all resource ID" } }, "required": [ "catchallId" ] }, "security": [ { "apiToken": [] } ], "group": "mail" }, { "name": "mail_listCatchAllsV1", "description": "Retrieve a paginated list of catch-alls across all mailboxes of a\nmail order.", "method": "GET", "path": "/api/mail/v1/orders/{orderId}/catchalls", "inputSchema": { "type": "object", "properties": { "orderId": { "type": "string", "description": "Order resource ID" }, "page": { "type": "integer", "description": "Page number" }, "per_page": { "type": "integer", "description": "Number of items per page" } }, "required": [ "orderId" ] }, "security": [ { "apiToken": [] } ], "group": "mail" }, { "name": "mail_resendCatchAllConfirmationV1", "description": "Resend the confirmation email to the mailbox address of an\nunconfirmed catch-all.", "method": "POST", "path": "/api/mail/v1/catchalls/{catchallId}/confirmation/resend", "inputSchema": { "type": "object", "properties": { "catchallId": { "type": "string", "description": "Catch-all resource ID" } }, "required": [ "catchallId" ] }, "security": [ { "apiToken": [] } ], "group": "mail" }, { "name": "mail_createForwarderV1", "description": "Create a forwarder from the given mailbox to the destination address.\nThe destination receives a confirmation email and forwarding becomes\nactive only after it is confirmed.", "method": "POST", "path": "/api/mail/v1/mailboxes/{mailboxId}/forwarders", "inputSchema": { "type": "object", "properties": { "mailboxId": { "type": "string", "description": "Mailbox resource ID" }, "destination": { "type": "string", "description": "Email address the messages will be forwarded to" }, "is_keep_copy_enabled": { "type": "boolean", "description": "Whether to keep a copy of forwarded messages in the mailbox. Defaults to false." } }, "required": [ "mailboxId", "destination" ] }, "security": [ { "apiToken": [] } ], "group": "mail" }, { "name": "mail_deleteForwarderV1", "description": "Delete a forwarder. The mailbox stops forwarding messages to the\ndestination address immediately.", "method": "DELETE", "path": "/api/mail/v1/forwarders/{forwarderId}", "inputSchema": { "type": "object", "properties": { "forwarderId": { "type": "string", "description": "Forwarder resource ID" } }, "required": [ "forwarderId" ] }, "security": [ { "apiToken": [] } ], "group": "mail" }, { "name": "mail_listForwardersV1", "description": "Retrieve a paginated list of forwarders across all mailboxes of a\nmail order.", "method": "GET", "path": "/api/mail/v1/orders/{orderId}/forwarders", "inputSchema": { "type": "object", "properties": { "orderId": { "type": "string", "description": "Order resource ID" }, "page": { "type": "integer", "description": "Page number" }, "per_page": { "type": "integer", "description": "Number of items per page" } }, "required": [ "orderId" ] }, "security": [ { "apiToken": [] } ], "group": "mail" }, { "name": "mail_resendForwarderConfirmationV1", "description": "Resend the confirmation email to the destination address of an\nunconfirmed forwarder.", "method": "POST", "path": "/api/mail/v1/forwarders/{forwarderId}/confirmation/resend", "inputSchema": { "type": "object", "properties": { "forwarderId": { "type": "string", "description": "Forwarder resource ID" } }, "required": [ "forwarderId" ] }, "security": [ { "apiToken": [] } ], "group": "mail" }, { "name": "mail_updateForwarderKeepCopySettingV1", "description": "Enable or disable keeping a copy of forwarded messages in the\nmailbox.", "method": "PATCH", "path": "/api/mail/v1/forwarders/{forwarderId}/keep-copy", "inputSchema": { "type": "object", "properties": { "forwarderId": { "type": "string", "description": "Forwarder resource ID" }, "is_keep_copy_enabled": { "type": "boolean", "description": "Whether to keep a copy of forwarded messages in the mailbox" } }, "required": [ "forwarderId", "is_keep_copy_enabled" ] }, "security": [ { "apiToken": [] } ], "group": "mail" }, { "name": "mail_listAccessLogsV1", "description": "Retrieve paginated access logs for the domain attached to the given\nmail order. Supports filtering by account, date range, protocol,\nstatus, and deletion flag. Results are sorted by timestamp descending.", "method": "GET", "path": "/api/mail/v1/orders/{orderId}/logs/access", "inputSchema": { "type": "object", "properties": { "orderId": { "type": "string", "description": "Order resource ID" }, "account": { "type": "string", "description": "Filter log entries by a specific email account" }, "date": { "type": "string", "description": "Exact date filter (YYYY-MM-DD). Takes precedence over `from_date`/`to_date` when both are given." }, "from_date": { "type": "string", "description": "Date range start (RFC 3339)" }, "to_date": { "type": "string", "description": "Date range end (RFC 3339)" }, "status": { "type": "string", "description": "Filter log entries by status", "enum": [ "Successful", "Failed" ] }, "protocol": { "type": "string", "description": "Filter access log entries by protocol", "enum": [ "imap", "pop3", "smtp" ] }, "has_deletions": { "type": "boolean", "description": "Filter access log entries by whether the session had deletions" }, "page": { "type": "integer", "description": "Page number" }, "per_page": { "type": "integer", "description": "Number of items per page" } }, "required": [ "orderId" ] }, "security": [ { "apiToken": [] } ], "group": "mail" }, { "name": "mail_listActionLogsV1", "description": "Retrieve paginated account action logs (administrative and user\nactions) for the given mail order. Supports filtering by account,\ndate range, and status. Results are sorted by timestamp descending.", "method": "GET", "path": "/api/mail/v1/orders/{orderId}/logs/action", "inputSchema": { "type": "object", "properties": { "orderId": { "type": "string", "description": "Order resource ID" }, "account": { "type": "string", "description": "Filter log entries by a specific email account" }, "date": { "type": "string", "description": "Exact date filter (YYYY-MM-DD). Takes precedence over `from_date`/`to_date` when both are given." }, "from_date": { "type": "string", "description": "Date range start (RFC 3339)" }, "to_date": { "type": "string", "description": "Date range end (RFC 3339)" }, "status": { "type": "string", "description": "Filter log entries by status", "enum": [ "Successful", "Failed" ] }, "page": { "type": "integer", "description": "Page number" }, "per_page": { "type": "integer", "description": "Number of items per page" } }, "required": [ "orderId" ] }, "security": [ { "apiToken": [] } ], "group": "mail" }, { "name": "mail_listInboundLogsV1", "description": "Retrieve paginated inbound (received mail) delivery logs for the\ndomain attached to the given mail order. Supports filtering by\naccount, date range, status, sender, and recipient. Results are\nsorted by timestamp descending.", "method": "GET", "path": "/api/mail/v1/orders/{orderId}/logs/inbound", "inputSchema": { "type": "object", "properties": { "orderId": { "type": "string", "description": "Order resource ID" }, "account": { "type": "string", "description": "Filter log entries by a specific email account" }, "date": { "type": "string", "description": "Exact date filter (YYYY-MM-DD). Takes precedence over `from_date`/`to_date` when both are given." }, "from_date": { "type": "string", "description": "Date range start (RFC 3339)" }, "to_date": { "type": "string", "description": "Date range end (RFC 3339)" }, "status": { "type": "string", "description": "Filter log entries by status", "enum": [ "Successful", "Failed" ] }, "sender": { "type": "string", "description": "Filter log entries by sender. Accepts a full email address or a domain." }, "recipient": { "type": "string", "description": "Filter log entries by recipient. Accepts a full email address or a domain." }, "page": { "type": "integer", "description": "Page number" }, "per_page": { "type": "integer", "description": "Number of items per page" } }, "required": [ "orderId" ] }, "security": [ { "apiToken": [] } ], "group": "mail" }, { "name": "mail_listMailboxActionLogsV1", "description": "Retrieve paginated mailbox action logs (message and mailbox events)\nfor a mailbox in the given mail order. The mailbox email must belong\nto the order's domain. Supports date range and event type filters.\nResults are sorted by timestamp descending.", "method": "GET", "path": "/api/mail/v1/orders/{orderId}/logs/mailbox-actions", "inputSchema": { "type": "object", "properties": { "orderId": { "type": "string", "description": "Order resource ID" }, "email": { "type": "string", "description": "Mailbox email address. Must belong to the order's domain." }, "date": { "type": "string", "description": "Exact date filter (YYYY-MM-DD). Takes precedence over `from_date`/`to_date` when both are given." }, "from_date": { "type": "string", "description": "Date range start (RFC 3339)" }, "to_date": { "type": "string", "description": "Date range end (RFC 3339)" }, "event": { "type": "string", "description": "Filter mailbox action log entries by event type", "enum": [ "MessageNew", "MessageRead", "MessageAppend", "MessageExpunge", "MailboxCreate", "MailboxDelete", "MailboxRename" ] }, "page": { "type": "integer", "description": "Page number" }, "per_page": { "type": "integer", "description": "Number of items per page" } }, "required": [ "orderId", "email" ] }, "security": [ { "apiToken": [] } ], "group": "mail" }, { "name": "mail_listOutboundLogsV1", "description": "Retrieve paginated outbound (sent mail) delivery logs for the domain\nattached to the given mail order. Supports filtering by account, date\nrange, status, sender, and recipient. Results are sorted by timestamp\ndescending.", "method": "GET", "path": "/api/mail/v1/orders/{orderId}/logs/outbound", "inputSchema": { "type": "object", "properties": { "orderId": { "type": "string", "description": "Order resource ID" }, "account": { "type": "string", "description": "Filter log entries by a specific email account" }, "date": { "type": "string", "description": "Exact date filter (YYYY-MM-DD). Takes precedence over `from_date`/`to_date` when both are given." }, "from_date": { "type": "string", "description": "Date range start (RFC 3339)" }, "to_date": { "type": "string", "description": "Date range end (RFC 3339)" }, "status": { "type": "string", "description": "Filter log entries by status", "enum": [ "Successful", "Failed" ] }, "sender": { "type": "string", "description": "Filter log entries by sender. Accepts a full email address or a domain." }, "recipient": { "type": "string", "description": "Filter log entries by recipient. Accepts a full email address or a domain." }, "page": { "type": "integer", "description": "Page number" }, "per_page": { "type": "integer", "description": "Number of items per page" } }, "required": [ "orderId" ] }, "security": [ { "apiToken": [] } ], "group": "mail" }, { "name": "mail_listMailboxesV1", "description": "Retrieve a paginated list of mailboxes belonging to a mail order.\n\nUse this endpoint to monitor mailboxes of your mail service, including\ntheir status, enabled protocols, attached resource counts, and\nperiodically synced usage numbers (usage may lag behind live values).", "method": "GET", "path": "/api/mail/v1/orders/{orderId}/mailboxes", "inputSchema": { "type": "object", "properties": { "orderId": { "type": "string", "description": "Order resource ID" }, "search": { "type": "string", "description": "Filter mailboxes whose email address contains the given string" }, "sort": { "type": "string", "description": "Sort mailboxes by field. Prefix with `-` for descending order.", "enum": [ "address", "-address" ] }, "page": { "type": "integer", "description": "Page number" }, "per_page": { "type": "integer", "description": "Number of items per page" } }, "required": [ "orderId" ] }, "security": [ { "apiToken": [] } ], "group": "mail" }, { "name": "mail_createMailboxV1", "description": "Create a mailbox under the given mail order. The full email address is\ncomposed from the given local part and the domain of the order.", "method": "POST", "path": "/api/mail/v1/orders/{orderId}/mailboxes", "inputSchema": { "type": "object", "properties": { "orderId": { "type": "string", "description": "Order resource ID" }, "local_part": { "type": "string", "description": "Local part of the mailbox address (the part before the @). The domain is taken from the order. Must start and end with a letter or digit; single dots, underscores and hyphens are allowed in between." }, "password": { "type": "string", "description": "Mailbox password. Minimum 8 characters with uppercase, lowercase, number and special character." } }, "required": [ "orderId", "local_part", "password" ] }, "security": [ { "apiToken": [] } ], "group": "mail" }, { "name": "mail_deleteMailboxV1", "description": "Delete a mailbox. The mailbox is soft-deleted and stays restorable\nfor a limited period before it is permanently removed.", "method": "DELETE", "path": "/api/mail/v1/mailboxes/{mailboxId}", "inputSchema": { "type": "object", "properties": { "mailboxId": { "type": "string", "description": "Mailbox resource ID" } }, "required": [ "mailboxId" ] }, "security": [ { "apiToken": [] } ], "group": "mail" }, { "name": "mail_changeMailboxPasswordV1", "description": "Change the password of a mailbox.", "method": "PATCH", "path": "/api/mail/v1/mailboxes/{mailboxId}/password", "inputSchema": { "type": "object", "properties": { "mailboxId": { "type": "string", "description": "Mailbox resource ID" }, "password": { "type": "string", "description": "New mailbox password. Minimum 8 characters with uppercase, lowercase, number and special character; must not be a commonly used password." } }, "required": [ "mailboxId", "password" ] }, "security": [ { "apiToken": [] } ], "group": "mail" }, { "name": "mail_listOrdersV1", "description": "Retrieve a paginated list of mail orders associated with your account.\n\nUse this endpoint to monitor your mail services, including their status,\nplan, attached domain, and expiration details.", "method": "GET", "path": "/api/mail/v1/orders", "inputSchema": { "type": "object", "properties": { "domain": { "type": "string", "description": "Filter orders by domain name (exact match)" }, "status": { "type": "string", "description": "Filter orders by status", "enum": [ "pending_setup", "active", "suspended" ] }, "is_trial": { "type": "boolean", "description": "Filter orders by trial state" }, "sort": { "type": "string", "description": "Sort orders by field. Prefix with `-` for descending order.", "enum": [ "created_at", "-created_at", "expires_at", "-expires_at" ] }, "page": { "type": "integer", "description": "Page number" }, "per_page": { "type": "integer", "description": "Number of items per page" } }, "required": [] }, "security": [ { "apiToken": [] } ], "group": "mail" }, { "name": "mail_getOrderPlanV1", "description": "Retrieve the plan the given mail order was purchased with, including\ndomain-level and mailbox-level quotas, limits, and protocol\navailability.", "method": "GET", "path": "/api/mail/v1/orders/{orderId}/plan", "inputSchema": { "type": "object", "properties": { "orderId": { "type": "string", "description": "Order resource ID" } }, "required": [ "orderId" ] }, "security": [ { "apiToken": [] } ], "group": "mail" }, { "name": "mail_createWebhookV1", "description": "Create a webhook for the given mailbox. The generated secret is\nreturned only in this response and is sent as a bearer token with\nevery delivery.", "method": "POST", "path": "/api/mail/v1/mailboxes/{mailboxId}/webhooks", "inputSchema": { "type": "object", "properties": { "mailboxId": { "type": "string", "description": "Mailbox resource ID" }, "name": { "type": "string", "description": "Human-readable name for this webhook" }, "description": { "type": "string", "description": "Optional description of the webhook's purpose" }, "events": { "type": "array", "description": "Events that trigger this webhook", "items": { "type": "string", "description": "events parameter", "enum": [ "message.received" ] } }, "status": { "type": "string", "description": "Initial status of the webhook", "enum": [ "active", "disabled", "paused" ] }, "url": { "type": "string", "description": "Publicly reachable URL that receives the webhook POST requests" } }, "required": [ "mailboxId", "name", "events", "url" ] }, "security": [ { "apiToken": [] } ], "group": "mail" }, { "name": "mail_listWebhookDeliveryLogsV1", "description": "Retrieve a paginated list of webhook delivery logs for the given mail\norder, including delivery outcome, duration, and retry counts.\nSupports filtering by mailbox.", "method": "GET", "path": "/api/mail/v1/orders/{orderId}/webhooks/delivery-logs", "inputSchema": { "type": "object", "properties": { "orderId": { "type": "string", "description": "Order resource ID" }, "mailbox_id": { "type": "string", "description": "Filter by the mailbox resource ID the webhooks are attached to" }, "page": { "type": "integer", "description": "Page number" }, "per_page": { "type": "integer", "description": "Number of items per page" } }, "required": [ "orderId" ] }, "security": [ { "apiToken": [] } ], "group": "mail" }, { "name": "mail_getWebhookV1", "description": "Retrieve the details of a single webhook. The webhook secret is never\nincluded; it is returned only when a webhook is created or its secret\nis regenerated.", "method": "GET", "path": "/api/mail/v1/webhooks/{webhookId}", "inputSchema": { "type": "object", "properties": { "webhookId": { "type": "string", "description": "Webhook ID (returned when the webhook was created)" } }, "required": [ "webhookId" ] }, "security": [ { "apiToken": [] } ], "group": "mail" }, { "name": "mail_deleteWebhookV1", "description": "Permanently delete a webhook. This action cannot be undone. After\ndeletion the URL no longer receives event notifications.", "method": "DELETE", "path": "/api/mail/v1/webhooks/{webhookId}", "inputSchema": { "type": "object", "properties": { "webhookId": { "type": "string", "description": "Webhook ID (returned when the webhook was created)" } }, "required": [ "webhookId" ] }, "security": [ { "apiToken": [] } ], "group": "mail" }, { "name": "mail_updateWebhookV1", "description": "Partially update a webhook. Only the fields included in the request\nbody are changed; omitted fields retain their current values. Pass\n`\"description\": null` to clear the description.", "method": "PATCH", "path": "/api/mail/v1/webhooks/{webhookId}", "inputSchema": { "type": "object", "properties": { "webhookId": { "type": "string", "description": "Webhook ID (returned when the webhook was created)" }, "name": { "type": "string", "description": "New human-readable name for the webhook" }, "description": { "type": "string", "description": "New description, or null to clear it" }, "events": { "type": "array", "description": "Replaces the full list of subscribed events", "items": { "type": "string", "description": "events parameter", "enum": [ "message.received" ] } }, "status": { "type": "string", "description": "New status for the webhook", "enum": [ "active", "disabled", "paused" ] }, "url": { "type": "string", "description": "New URL to deliver events to" } }, "required": [ "webhookId" ] }, "security": [ { "apiToken": [] } ], "group": "mail" }, { "name": "mail_listWebhooksV1", "description": "Retrieve a paginated list of webhooks belonging to the given mail\norder. Supports filtering by mailbox and status. The webhook secret\nis never included; it is returned only when a webhook is created or\nits secret is regenerated.", "method": "GET", "path": "/api/mail/v1/orders/{orderId}/webhooks", "inputSchema": { "type": "object", "properties": { "orderId": { "type": "string", "description": "Order resource ID" }, "mailbox_id": { "type": "string", "description": "Filter by the mailbox resource ID the webhooks are attached to" }, "status": { "type": "string", "description": "Filter webhooks by status", "enum": [ "active", "disabled", "paused" ] }, "page": { "type": "integer", "description": "Page number" }, "per_page": { "type": "integer", "description": "Number of items per page" } }, "required": [ "orderId" ] }, "security": [ { "apiToken": [] } ], "group": "mail" }, { "name": "mail_regenerateWebhookSecretV1", "description": "Regenerate the secret of a webhook. The previous secret is\nimmediately invalidated. The new secret is returned only in this\nresponse and is sent as a bearer token with every delivery.", "method": "POST", "path": "/api/mail/v1/webhooks/{webhookId}/regenerate-secret", "inputSchema": { "type": "object", "properties": { "webhookId": { "type": "string", "description": "Webhook ID (returned when the webhook was created)" } }, "required": [ "webhookId" ] }, "security": [ { "apiToken": [] } ], "group": "mail" }, { "name": "mail_testWebhookV1", "description": "Send a test delivery to the webhook URL and return the result. Test\nrequests are rate limited upstream.", "method": "POST", "path": "/api/mail/v1/webhooks/{webhookId}/test", "inputSchema": { "type": "object", "properties": { "webhookId": { "type": "string", "description": "Webhook ID (returned when the webhook was created)" } }, "required": [ "webhookId" ] }, "security": [ { "apiToken": [] } ], "group": "mail" } ]; export default tools;