{
  "service": "smtp2go",
  "displayName": "SMTP2GO",
  "categories": [
    "Communication",
    "Marketing"
  ],
  "authTypes": [
    "api_key"
  ],
  "auth": [
    {
      "type": "api_key",
      "label": "API Key",
      "placeholder": "api-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
      "description": "SMTP2GO API key used with the X-Smtp2go-Api-Key request header. Create and manage keys in the SMTP2GO app under Sending > API Keys: https://app.smtp2go.com/."
    }
  ],
  "homepageUrl": "https://www.smtp2go.com/",
  "actions": [
    {
      "id": "smtp2go.get_email_summary",
      "service": "smtp2go",
      "name": "get_email_summary",
      "description": "Retrieve SMTP2GO account email statistics and current sending cycle summary.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "username": {
            "type": "string",
            "description": "The optional SMTP2GO username to return statistics for."
          }
        },
        "additionalProperties": false,
        "description": "Input parameters for retrieving an SMTP2GO email summary."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "requestId": {
            "type": "string",
            "description": "The SMTP2GO request identifier."
          },
          "summary": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw data object returned by SMTP2GO."
          },
          "data": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw data object returned by SMTP2GO."
          }
        },
        "additionalProperties": false,
        "description": "The normalized SMTP2GO email summary result."
      }
    },
    {
      "id": "smtp2go.get_email_template",
      "service": "smtp2go",
      "name": "get_email_template",
      "description": "Retrieve details for a single SMTP2GO email template by ID.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1,
            "description": "The case-sensitive SMTP2GO email template ID.",
            "pattern": "\\S"
          }
        },
        "additionalProperties": false,
        "required": [
          "id"
        ],
        "description": "Input parameters for viewing an SMTP2GO template."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "requestId": {
            "type": "string",
            "description": "The SMTP2GO request identifier."
          },
          "template": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw data object returned by SMTP2GO."
          },
          "data": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw data object returned by SMTP2GO."
          }
        },
        "additionalProperties": false,
        "description": "The normalized SMTP2GO email template detail."
      }
    },
    {
      "id": "smtp2go.list_sender_domains",
      "service": "smtp2go",
      "name": "list_sender_domains",
      "description": "List SMTP2GO sender domains and their verification metadata.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "domain": {
            "type": "string",
            "description": "Only return records for this sender domain."
          },
          "subaccount_id": {
            "type": "string",
            "description": "The subaccount ID to query on behalf of."
          }
        },
        "additionalProperties": false,
        "description": "Input parameters for listing SMTP2GO sender domains."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "requestId": {
            "type": "string",
            "description": "The SMTP2GO request identifier."
          },
          "domains": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "One object returned by SMTP2GO."
            },
            "description": "The sender domain records returned by SMTP2GO."
          },
          "data": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw data object returned by SMTP2GO."
          }
        },
        "additionalProperties": false,
        "description": "The normalized SMTP2GO sender domain list."
      }
    },
    {
      "id": "smtp2go.list_single_sender_emails",
      "service": "smtp2go",
      "name": "list_single_sender_emails",
      "description": "List SMTP2GO single sender email addresses and verification status.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "email_address": {
            "type": "string",
            "description": "Only return single sender emails matching this address."
          },
          "subaccount_id": {
            "type": "string",
            "description": "The subaccount ID to query on behalf of."
          }
        },
        "additionalProperties": false,
        "description": "Input parameters for listing SMTP2GO single sender emails."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "requestId": {
            "type": "string",
            "description": "The SMTP2GO request identifier."
          },
          "senders": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "One object returned by SMTP2GO."
            },
            "description": "The single sender email records returned by SMTP2GO."
          },
          "data": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw data object returned by SMTP2GO."
          }
        },
        "additionalProperties": false,
        "description": "The normalized SMTP2GO single sender email list."
      }
    },
    {
      "id": "smtp2go.search_activity",
      "service": "smtp2go",
      "name": "search_activity",
      "description": "Search SMTP2GO email activity events with optional filters and pagination.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "start_date": {
            "type": "string",
            "description": "The inclusive start datetime for the activity search."
          },
          "end_date": {
            "type": "string",
            "description": "The exclusive end datetime for the activity search."
          },
          "search": {
            "type": "string",
            "description": "A text search across SMTP2GO activity search fields."
          },
          "search_email_id": {
            "type": "string",
            "description": "The SMTP2GO email ID to search for."
          },
          "search_subject": {
            "type": "string",
            "description": "A subject search string."
          },
          "search_sender": {
            "type": "string",
            "description": "A sender search string."
          },
          "search_recipient": {
            "type": "string",
            "description": "A recipient search string."
          },
          "search_usernames": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "One SMTP2GO username.",
              "pattern": "\\S"
            },
            "description": "SMTP2GO usernames to include in the activity search.",
            "minItems": 1
          },
          "subaccounts": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "One SMTP2GO subaccount ID.",
              "pattern": "\\S"
            },
            "description": "SMTP2GO subaccount IDs to include in the activity search.",
            "minItems": 1
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 1000,
            "description": "The maximum number of events to return."
          },
          "continue_token": {
            "type": "string",
            "description": "The continuation token from a previous activity search."
          },
          "only_latest": {
            "type": "boolean",
            "description": "Whether to return only the most recent event for each email."
          },
          "only_latest_by_sent": {
            "type": "boolean",
            "description": "Whether to return the most recent event for each email ordered by sent date."
          },
          "event_types": {
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "processed",
                "soft-bounced",
                "hard-bounced",
                "rejected",
                "spam",
                "delivered",
                "unsubscribed",
                "resubscribed",
                "opened",
                "clicked"
              ],
              "description": "One SMTP2GO activity event type."
            },
            "description": "SMTP2GO event types used to filter activity results.",
            "minItems": 1
          },
          "include_headers": {
            "type": "boolean",
            "description": "Whether to include full email headers in returned events."
          },
          "custom_headers": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "One custom header name.",
              "pattern": "\\S"
            },
            "description": "Custom header names to extract from returned raw headers.",
            "minItems": 1
          },
          "region": {
            "type": "string",
            "enum": [
              "us",
              "eu",
              "au"
            ],
            "description": "The SMTP2GO activity region to query."
          }
        },
        "additionalProperties": false,
        "description": "Input parameters for searching SMTP2GO activity events."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "requestId": {
            "type": "string",
            "description": "The SMTP2GO request identifier."
          },
          "events": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "One object returned by SMTP2GO."
            },
            "description": "The SMTP2GO activity events returned for this page."
          },
          "totalEvents": {
            "type": "integer",
            "description": "The total number of matching events reported by SMTP2GO."
          },
          "continueToken": {
            "anyOf": [
              {
                "type": "string",
                "description": "The continuation token returned by SMTP2GO when another page is available."
              },
              {
                "type": "null"
              }
            ]
          },
          "data": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw data object returned by SMTP2GO."
          }
        },
        "additionalProperties": false,
        "description": "The normalized SMTP2GO activity search result."
      }
    },
    {
      "id": "smtp2go.search_email_templates",
      "service": "smtp2go",
      "name": "search_email_templates",
      "description": "Search SMTP2GO email templates by terms, tags, sorting, and pagination.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "fuzzy_search": {
            "type": "boolean",
            "description": "Whether search terms should use wildcard matching."
          },
          "search_terms": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "One template search term.",
              "pattern": "\\S"
            },
            "description": "Template search terms matched against name, tag, ID, or subject.",
            "minItems": 1
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "One template tag.",
              "pattern": "\\S"
            },
            "description": "Template tags used to filter results.",
            "minItems": 1
          },
          "sort_direction": {
            "type": "string",
            "enum": [
              "asc",
              "desc"
            ],
            "description": "The template sort direction."
          },
          "page_size": {
            "type": "integer",
            "minimum": 1,
            "description": "The maximum number of templates to return."
          },
          "continue_token": {
            "type": "string",
            "description": "The continuation token from a previous template search."
          }
        },
        "additionalProperties": false,
        "description": "Input parameters for searching SMTP2GO email templates."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "requestId": {
            "type": "string",
            "description": "The SMTP2GO request identifier."
          },
          "templates": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "One object returned by SMTP2GO."
            },
            "description": "The SMTP2GO templates returned for this page."
          },
          "totalCount": {
            "type": "integer",
            "description": "The total number of matching templates reported by SMTP2GO."
          },
          "continueToken": {
            "anyOf": [
              {
                "type": "string",
                "description": "The continuation token returned by SMTP2GO when another page is available."
              },
              {
                "type": "null"
              }
            ]
          },
          "data": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw data object returned by SMTP2GO."
          }
        },
        "additionalProperties": false,
        "description": "The normalized SMTP2GO email template search result."
      }
    },
    {
      "id": "smtp2go.send_email",
      "service": "smtp2go",
      "name": "send_email",
      "description": "Send a standard JSON email through SMTP2GO without Base64 attachments or inline files.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "sender": {
            "type": "string",
            "minLength": 1,
            "description": "The name and email address to send from, such as Sender <sender@example.com>.",
            "pattern": "\\S"
          },
          "to": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "One email address or name/address pair accepted by SMTP2GO.",
              "pattern": "\\S"
            },
            "description": "The email addresses to send to, up to 100 recipients.",
            "minItems": 1,
            "maxItems": 100
          },
          "cc": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "One email address or name/address pair accepted by SMTP2GO.",
              "pattern": "\\S"
            },
            "description": "The email addresses to CC, up to 100 recipients.",
            "minItems": 1,
            "maxItems": 100
          },
          "bcc": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "One email address or name/address pair accepted by SMTP2GO.",
              "pattern": "\\S"
            },
            "description": "The email addresses to BCC, up to 100 recipients.",
            "minItems": 1,
            "maxItems": 100
          },
          "subject": {
            "type": "string",
            "description": "The subject of the email. If template_id is provided, SMTP2GO ignores this value."
          },
          "html_body": {
            "type": "string",
            "description": "The HTML email body. Either html_body or text_body is required when template_id is omitted."
          },
          "text_body": {
            "type": "string",
            "description": "The plain-text email body. Either html_body or text_body is required when template_id is omitted."
          },
          "custom_headers": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "header": {
                  "type": "string",
                  "minLength": 1,
                  "description": "The custom header name.",
                  "pattern": "\\S"
                },
                "value": {
                  "type": "string",
                  "description": "The custom header value."
                }
              },
              "additionalProperties": false,
              "description": "A custom email header object accepted by SMTP2GO."
            },
            "description": "Custom headers to add to the email.",
            "minItems": 1
          },
          "template_id": {
            "type": "string",
            "minLength": 1,
            "description": "The SMTP2GO template ID to use for this send.",
            "pattern": "\\S"
          },
          "template_data": {
            "type": "object",
            "additionalProperties": {
              "description": "One template variable value."
            },
            "description": "The template variable values passed to SMTP2GO."
          },
          "schedule": {
            "type": "string",
            "minLength": 1,
            "description": "A future SMTP2GO schedule timestamp within the next three days.",
            "pattern": "\\S"
          },
          "fastaccept": {
            "type": "boolean",
            "description": "Whether SMTP2GO should accept the email immediately and send it in the background."
          }
        },
        "additionalProperties": false,
        "required": [
          "sender",
          "to"
        ],
        "description": "Input parameters for sending a standard email through SMTP2GO."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "requestId": {
            "type": "string",
            "description": "The SMTP2GO request identifier."
          },
          "succeeded": {
            "type": "integer",
            "description": "The number of recipients SMTP2GO accepted."
          },
          "failed": {
            "type": "integer",
            "description": "The number of recipients SMTP2GO rejected."
          },
          "failures": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "One object returned by SMTP2GO."
            },
            "description": "Recipient failure objects returned by SMTP2GO."
          },
          "emailId": {
            "anyOf": [
              {
                "type": "string",
                "description": "The SMTP2GO email ID when present."
              },
              {
                "type": "null"
              }
            ]
          },
          "scheduleId": {
            "anyOf": [
              {
                "type": "string",
                "description": "The SMTP2GO schedule ID when the email was scheduled."
              },
              {
                "type": "null"
              }
            ]
          },
          "data": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw data object returned by SMTP2GO."
          }
        },
        "additionalProperties": false,
        "description": "The normalized SMTP2GO standard email send result."
      }
    },
    {
      "id": "smtp2go.view_api_key_permissions",
      "service": "smtp2go",
      "name": "view_api_key_permissions",
      "description": "List the SMTP2GO API endpoint permissions available to the connected API key.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false,
        "description": "The empty input payload for this SMTP2GO action."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "requestId": {
            "type": "string",
            "description": "The SMTP2GO request identifier."
          },
          "permissions": {
            "type": "array",
            "items": {
              "type": "string",
              "description": "One SMTP2GO endpoint path."
            },
            "description": "The SMTP2GO endpoint permissions available to the current API key."
          },
          "data": {
            "description": "The raw permissions payload returned by SMTP2GO."
          }
        },
        "additionalProperties": false,
        "description": "The normalized SMTP2GO API key permissions response."
      }
    }
  ]
}
