{
  "service": "mailersend",
  "displayName": "MailerSend",
  "categories": [
    "Communication",
    "Marketing"
  ],
  "authTypes": [
    "api_key"
  ],
  "auth": [
    {
      "type": "api_key",
      "label": "API Token",
      "placeholder": "mlsn_...",
      "description": "MailerSend API token used with the Authorization Bearer header. Create it from Integrations > MailerSend API > Manage."
    }
  ],
  "homepageUrl": "https://www.mailersend.com",
  "actions": [
    {
      "id": "mailersend.get_domain",
      "service": "mailersend",
      "name": "get_domain",
      "description": "Get a single MailerSend domain by ID.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "domain_id": {
            "type": "string",
            "minLength": 1,
            "description": "MailerSend domain ID."
          }
        },
        "additionalProperties": false,
        "description": "Path parameters for fetching a MailerSend domain."
      },
      "outputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": true,
        "description": "Domain object returned by MailerSend."
      }
    },
    {
      "id": "mailersend.get_domain_dns_records",
      "service": "mailersend",
      "name": "get_domain_dns_records",
      "description": "Get DNS records required for a MailerSend domain.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "domain_id": {
            "type": "string",
            "minLength": 1,
            "description": "MailerSend domain ID."
          }
        },
        "additionalProperties": false,
        "description": "Path parameters for fetching MailerSend domain DNS records."
      },
      "outputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": true,
        "description": "Domain DNS records returned by MailerSend."
      }
    },
    {
      "id": "mailersend.get_domain_verification_status",
      "service": "mailersend",
      "name": "get_domain_verification_status",
      "description": "Get the verification status for a MailerSend domain.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "domain_id": {
            "type": "string",
            "minLength": 1,
            "description": "MailerSend domain ID."
          }
        },
        "additionalProperties": false,
        "description": "Path parameters for fetching a MailerSend domain verification status."
      },
      "outputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": true,
        "description": "Domain verification status returned by MailerSend."
      }
    },
    {
      "id": "mailersend.get_message",
      "service": "mailersend",
      "name": "get_message",
      "description": "Get a single MailerSend message by ID.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "message_id": {
            "type": "string",
            "minLength": 1,
            "description": "MailerSend message ID."
          }
        },
        "additionalProperties": false,
        "description": "Path parameters for fetching a MailerSend message."
      },
      "outputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": true,
        "description": "Message object returned by MailerSend."
      }
    },
    {
      "id": "mailersend.get_sender_identity",
      "service": "mailersend",
      "name": "get_sender_identity",
      "description": "Get a single MailerSend sender identity by ID.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "identity_id": {
            "type": "string",
            "minLength": 1,
            "description": "MailerSend sender identity ID."
          }
        },
        "additionalProperties": false,
        "description": "Path parameters for fetching a MailerSend sender identity."
      },
      "outputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": true,
        "description": "Sender identity object returned by MailerSend."
      }
    },
    {
      "id": "mailersend.get_template",
      "service": "mailersend",
      "name": "get_template",
      "description": "Get a single MailerSend template by ID.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "template_id": {
            "type": "string",
            "minLength": 1,
            "description": "MailerSend template ID."
          }
        },
        "additionalProperties": false,
        "description": "Path parameters for fetching a MailerSend template."
      },
      "outputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": true,
        "description": "Template object returned by MailerSend."
      }
    },
    {
      "id": "mailersend.list_domain_recipients",
      "service": "mailersend",
      "name": "list_domain_recipients",
      "description": "List recipients associated with a MailerSend domain.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "domain_id": {
            "type": "string",
            "minLength": 1,
            "description": "MailerSend domain ID."
          },
          "page": {
            "type": "integer",
            "minimum": 1,
            "description": "Page number to request from the MailerSend API."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "description": "Maximum number of items to return per page."
          }
        },
        "additionalProperties": false,
        "required": [
          "domain_id"
        ],
        "description": "Path and query parameters for listing MailerSend domain recipients."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "Domain recipient object returned by MailerSend."
            },
            "description": "List items returned by MailerSend."
          },
          "links": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Pagination links returned by the MailerSend API."
          },
          "meta": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Pagination metadata returned by the MailerSend API."
          }
        },
        "additionalProperties": false,
        "required": [
          "data"
        ],
        "description": "Paginated list response returned by the MailerSend API."
      }
    },
    {
      "id": "mailersend.list_domains",
      "service": "mailersend",
      "name": "list_domains",
      "description": "List MailerSend domains available to the current API token.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "page": {
            "type": "integer",
            "minimum": 1,
            "description": "Page number to request from the MailerSend API."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "description": "Maximum number of items to return per page."
          },
          "name": {
            "type": "string",
            "description": "Domain name filter."
          }
        },
        "additionalProperties": false,
        "description": "Query parameters for listing MailerSend domains."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "Domain object returned by MailerSend."
            },
            "description": "List items returned by MailerSend."
          },
          "links": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Pagination links returned by the MailerSend API."
          },
          "meta": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Pagination metadata returned by the MailerSend API."
          }
        },
        "additionalProperties": false,
        "required": [
          "data"
        ],
        "description": "Paginated list response returned by the MailerSend API."
      }
    },
    {
      "id": "mailersend.list_messages",
      "service": "mailersend",
      "name": "list_messages",
      "description": "List messages available to the current MailerSend API token.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "page": {
            "type": "integer",
            "minimum": 1,
            "description": "Page number to request from the MailerSend API."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "description": "Maximum number of items to return per page."
          },
          "status": {
            "type": "string",
            "description": "Message status filter."
          },
          "from": {
            "type": "string",
            "description": "Sender email filter."
          },
          "to": {
            "type": "string",
            "description": "Recipient email filter."
          },
          "subject": {
            "type": "string",
            "description": "Message subject filter."
          },
          "domain_id": {
            "type": "string",
            "minLength": 1,
            "description": "MailerSend domain ID."
          }
        },
        "additionalProperties": false,
        "description": "Query parameters for listing MailerSend messages."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "Message object returned by MailerSend."
            },
            "description": "List items returned by MailerSend."
          },
          "links": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Pagination links returned by the MailerSend API."
          },
          "meta": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Pagination metadata returned by the MailerSend API."
          }
        },
        "additionalProperties": false,
        "required": [
          "data"
        ],
        "description": "Paginated list response returned by the MailerSend API."
      }
    },
    {
      "id": "mailersend.list_sender_identities",
      "service": "mailersend",
      "name": "list_sender_identities",
      "description": "List MailerSend sender identities available to the current API token.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "page": {
            "type": "integer",
            "minimum": 1,
            "description": "Page number to request from the MailerSend API."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "description": "Maximum number of items to return per page."
          },
          "domain_id": {
            "type": "string",
            "minLength": 1,
            "description": "MailerSend domain ID."
          }
        },
        "additionalProperties": false,
        "description": "Query parameters for listing MailerSend sender identities."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "Sender identity object returned by MailerSend."
            },
            "description": "List items returned by MailerSend."
          },
          "links": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Pagination links returned by the MailerSend API."
          },
          "meta": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Pagination metadata returned by the MailerSend API."
          }
        },
        "additionalProperties": false,
        "required": [
          "data"
        ],
        "description": "Paginated list response returned by the MailerSend API."
      }
    },
    {
      "id": "mailersend.list_templates",
      "service": "mailersend",
      "name": "list_templates",
      "description": "List MailerSend templates available to the current API token.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "page": {
            "type": "integer",
            "minimum": 1,
            "description": "Page number to request from the MailerSend API."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "description": "Maximum number of items to return per page."
          }
        },
        "additionalProperties": false,
        "description": "Query parameters for listing MailerSend templates."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "Template object returned by MailerSend."
            },
            "description": "List items returned by MailerSend."
          },
          "links": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Pagination links returned by the MailerSend API."
          },
          "meta": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Pagination metadata returned by the MailerSend API."
          }
        },
        "additionalProperties": false,
        "required": [
          "data"
        ],
        "description": "Paginated list response returned by the MailerSend API."
      }
    },
    {
      "id": "mailersend.send_email",
      "service": "mailersend",
      "name": "send_email",
      "description": "Send a transactional email through MailerSend.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "from": {
            "type": "object",
            "properties": {
              "email": {
                "type": "string",
                "description": "Sender email address.",
                "format": "email"
              },
              "name": {
                "type": "string",
                "description": "Sender display name."
              }
            },
            "additionalProperties": false,
            "required": [
              "email"
            ],
            "description": "Sender object accepted by the MailerSend email API."
          },
          "to": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "email": {
                  "type": "string",
                  "description": "Email address for the recipient.",
                  "format": "email"
                },
                "name": {
                  "type": "string",
                  "description": "Display name for the recipient."
                }
              },
              "additionalProperties": false,
              "required": [
                "email"
              ],
              "description": "Recipient object accepted by the MailerSend email API."
            },
            "description": "Primary recipients.",
            "minItems": 1
          },
          "cc": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "email": {
                  "type": "string",
                  "description": "Email address for the recipient.",
                  "format": "email"
                },
                "name": {
                  "type": "string",
                  "description": "Display name for the recipient."
                }
              },
              "additionalProperties": false,
              "required": [
                "email"
              ],
              "description": "Recipient object accepted by the MailerSend email API."
            },
            "description": "Carbon copy recipients.",
            "minItems": 1
          },
          "bcc": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "email": {
                  "type": "string",
                  "description": "Email address for the recipient.",
                  "format": "email"
                },
                "name": {
                  "type": "string",
                  "description": "Display name for the recipient."
                }
              },
              "additionalProperties": false,
              "required": [
                "email"
              ],
              "description": "Recipient object accepted by the MailerSend email API."
            },
            "description": "Blind carbon copy recipients.",
            "minItems": 1
          },
          "reply_to": {
            "type": "object",
            "properties": {
              "email": {
                "type": "string",
                "description": "Sender email address.",
                "format": "email"
              },
              "name": {
                "type": "string",
                "description": "Sender display name."
              }
            },
            "additionalProperties": false,
            "required": [
              "email"
            ],
            "description": "Sender object accepted by the MailerSend email API."
          },
          "subject": {
            "type": "string",
            "minLength": 1,
            "description": "Email subject line."
          },
          "text": {
            "type": "string",
            "description": "Plain-text email body."
          },
          "html": {
            "type": "string",
            "description": "HTML email body."
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "Tag attached to the message."
            },
            "description": "Tags attached to the email.",
            "minItems": 1
          },
          "variables": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "Object returned by the MailerSend API."
            },
            "description": "Variable substitution payloads accepted by MailerSend."
          },
          "personalization": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "Object returned by the MailerSend API."
            },
            "description": "Per-recipient personalization payloads."
          },
          "attachments": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "content": {
                  "type": "string",
                  "minLength": 1,
                  "description": "Base64-encoded attachment content."
                },
                "filename": {
                  "type": "string",
                  "minLength": 1,
                  "description": "Attachment file name."
                },
                "disposition": {
                  "type": "string",
                  "enum": [
                    "attachment",
                    "inline"
                  ],
                  "description": "Attachment disposition used by MailerSend."
                },
                "id": {
                  "type": "string",
                  "description": "Inline attachment content ID."
                },
                "type": {
                  "type": "string",
                  "description": "Attachment MIME type."
                }
              },
              "additionalProperties": false,
              "required": [
                "content",
                "filename"
              ],
              "description": "Attachment object accepted by the MailerSend email API."
            },
            "description": "Attachments included with the email."
          },
          "send_at": {
            "type": "string",
            "description": "Datetime string that schedules the email for future delivery."
          }
        },
        "additionalProperties": false,
        "required": [
          "from",
          "to",
          "subject"
        ],
        "description": "Request payload for sending a transactional email through MailerSend.",
        "anyOf": [
          {
            "required": [
              "text"
            ]
          },
          {
            "required": [
              "html"
            ]
          }
        ]
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string",
            "description": "Response message returned by MailerSend."
          },
          "message_id": {
            "type": "string",
            "description": "Message ID extracted from the x-message-id response header."
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Raw JSON response body returned by MailerSend."
          }
        },
        "additionalProperties": false,
        "description": "Submission result returned after sending a MailerSend email."
      }
    }
  ]
}
