{
  "service": "securitytrails",
  "displayName": "SecurityTrails",
  "categories": [
    "Security",
    "Data"
  ],
  "authTypes": [
    "api_key"
  ],
  "auth": [
    {
      "type": "api_key",
      "label": "API Key",
      "placeholder": "SECURITYTRAILS_API_KEY",
      "description": "SecurityTrails API key sent with the APIKEY header. Create or view it on your credentials page: https://securitytrails.com/app/account/credentials"
    }
  ],
  "homepageUrl": "https://securitytrails.com",
  "actions": [
    {
      "id": "securitytrails.find_associated_domains",
      "service": "securitytrails",
      "name": "find_associated_domains",
      "description": "Find domains associated with one hostname in SecurityTrails.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "hostname": {
            "type": "string",
            "minLength": 1,
            "description": "The bare domain or subdomain to query without protocol or path.",
            "pattern": "^(?!.*://)(?!.*\\/).+$"
          },
          "page": {
            "type": "integer",
            "minimum": 1,
            "description": "The 1-based results page to fetch from the associated-domain listing."
          }
        },
        "additionalProperties": false,
        "required": [
          "hostname"
        ],
        "description": "The input payload for associated domains."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "hostname": {
            "type": "string",
            "minLength": 1,
            "description": "The hostname used for the associated-domain lookup."
          },
          "records": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "One associated-domain record returned by SecurityTrails."
            },
            "description": "Associated-domain records returned by SecurityTrails."
          }
        },
        "additionalProperties": false,
        "description": "The output payload for associated domains."
      }
    },
    {
      "id": "securitytrails.get_domain",
      "service": "securitytrails",
      "name": "get_domain",
      "description": "Get current DNS and domain details for one hostname from SecurityTrails.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "hostname": {
            "type": "string",
            "minLength": 1,
            "description": "The bare domain or subdomain to query without protocol or path.",
            "pattern": "^(?!.*://)(?!.*\\/).+$"
          }
        },
        "additionalProperties": false,
        "description": "The input payload for current domain details."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "domain": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Raw domain details returned by SecurityTrails."
          }
        },
        "additionalProperties": false,
        "description": "The output payload for current domain details."
      }
    },
    {
      "id": "securitytrails.get_domain_ssl",
      "service": "securitytrails",
      "name": "get_domain_ssl",
      "description": "Get SSL certificate details for one hostname from SecurityTrails.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "hostname": {
            "type": "string",
            "minLength": 1,
            "description": "The bare domain or subdomain to query without protocol or path.",
            "pattern": "^(?!.*://)(?!.*\\/).+$"
          }
        },
        "additionalProperties": false,
        "description": "The input payload for SSL certificate details."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "hostname": {
            "type": "string",
            "minLength": 1,
            "description": "The hostname used for the SSL lookup."
          },
          "ssl": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Raw SSL details returned by SecurityTrails."
          }
        },
        "additionalProperties": false,
        "description": "The output payload for SSL certificate details."
      }
    },
    {
      "id": "securitytrails.get_subdomains",
      "service": "securitytrails",
      "name": "get_subdomains",
      "description": "List known subdomains for one hostname from SecurityTrails.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "hostname": {
            "type": "string",
            "minLength": 1,
            "description": "The bare domain or subdomain to query without protocol or path.",
            "pattern": "^(?!.*://)(?!.*\\/).+$"
          }
        },
        "additionalProperties": false,
        "description": "The input payload for known subdomains."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "hostname": {
            "type": "string",
            "minLength": 1,
            "description": "The hostname used for the subdomain lookup."
          },
          "subdomains": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "One subdomain label returned by SecurityTrails."
            },
            "description": "Known subdomain labels for the requested hostname."
          },
          "recordTypeCounts": {
            "type": "object",
            "additionalProperties": {
              "type": "number",
              "description": "The number of matching subdomains for this DNS record type."
            },
            "description": "Mapping of DNS record type to the number of matching subdomains."
          }
        },
        "additionalProperties": false,
        "description": "The output payload for known subdomains."
      }
    }
  ]
}
