{
  "service": "mailboxlayer",
  "displayName": "Mailboxlayer",
  "categories": [
    "Communication",
    "Marketing"
  ],
  "authTypes": [
    "api_key"
  ],
  "auth": [
    {
      "type": "api_key",
      "label": "API Key",
      "placeholder": "MAILBOXLAYER_API_KEY",
      "description": "Mailboxlayer uses your APILayer API key as the access_key query parameter. Find or rotate it on your APILayer Account page: https://apilayer.com/docs/article/managing-api-keys."
    }
  ],
  "homepageUrl": "https://mailboxlayer.com",
  "actions": [
    {
      "id": "mailboxlayer.check_email",
      "service": "mailboxlayer",
      "name": "check_email",
      "description": "Validate a single email address and return Mailboxlayer quality signals.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "email": {
            "type": "string",
            "description": "The email address to validate.",
            "format": "email"
          },
          "smtp": {
            "type": "boolean",
            "description": "Whether to perform the SMTP validation check."
          },
          "format": {
            "type": "boolean",
            "description": "Whether to enable pretty-printed JSON output for debugging."
          },
          "mx": {
            "type": "boolean",
            "description": "Whether to check whether the domain has MX records."
          },
          "free": {
            "type": "boolean",
            "description": "Whether to enable this Mailboxlayer validation check. When provided, the flag is sent as 1 or 0."
          },
          "role": {
            "type": "boolean",
            "description": "Whether to enable this Mailboxlayer validation check. When provided, the flag is sent as 1 or 0."
          },
          "catch_all": {
            "type": "boolean",
            "description": "Whether to enable this Mailboxlayer validation check. When provided, the flag is sent as 1 or 0."
          },
          "disposable": {
            "type": "boolean",
            "description": "Whether to enable this Mailboxlayer validation check. When provided, the flag is sent as 1 or 0."
          }
        },
        "additionalProperties": false,
        "required": [
          "email"
        ],
        "description": "Input parameters for validating a single email address with Mailboxlayer."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "email": {
            "type": "string",
            "description": "The validated email address."
          },
          "did_you_mean": {
            "type": "string",
            "description": "Suggested corrected email address when a typo is detected."
          },
          "user": {
            "type": "string",
            "description": "The local part of the email address."
          },
          "domain": {
            "type": "string",
            "description": "The domain part of the email address."
          },
          "format_valid": {
            "type": "boolean",
            "description": "Whether the email address format is valid."
          },
          "mx_found": {
            "type": "boolean",
            "description": "Whether MX records were found for the email domain."
          },
          "smtp_check": {
            "type": "boolean",
            "description": "Whether the SMTP check succeeded."
          },
          "catch_all": {
            "anyOf": [
              {
                "type": "boolean",
                "description": "Whether the domain appears to accept all addresses."
              },
              {
                "type": "null"
              }
            ]
          },
          "role": {
            "type": "boolean",
            "description": "Whether the address is role-based, such as support@ or admin@."
          },
          "disposable": {
            "type": "boolean",
            "description": "Whether the address belongs to a disposable email provider."
          },
          "free": {
            "type": "boolean",
            "description": "Whether the address belongs to a free email provider."
          },
          "score": {
            "type": "number",
            "description": "Mailboxlayer quality score between 0 and 1."
          }
        },
        "additionalProperties": false,
        "required": [
          "email",
          "did_you_mean"
        ],
        "description": "Mailboxlayer email validation result."
      }
    }
  ]
}
