id: ipqualityscore
name: IPQualityScore
version: 1.0.0
description: "IPQualityScore (API) — fraud and abuse scoring for IPs, URLs, email addresses and phone numbers (proxy/VPN/bot detection, fraud score, deliverability, leaked-data check). API-key authentication; stdlib-only, no extra Python dependencies."
changelog: "1.0.0 — Initial release: IP, URL, email and phone reputation, plus leaked-email check."
category: enrichment

config_schema:
  properties:
    api_key:
      type: string
      description: "IPQualityScore API key"
      x-soar-sensitive: true
  required:
    - api_key

commands:
  - id: ip_reputation
    name: ipqualityscore-ip
    description: "Fraud/abuse score for an IP (proxy, VPN, Tor, bot, recent abuse, fraud score)."
    risk: read
    inputs_schema:
      properties:
        ip: { type: string, description: "IP address" }
        strictness: { type: number, description: "Detection strictness 0-3 (default 1)" }
      required: [ip]
    outputs_schema: { properties: {} }
  - id: url_reputation
    name: ipqualityscore-url
    description: "Malware/phishing and risk scoring for a URL or domain."
    risk: read
    inputs_schema:
      properties:
        url: { type: string, description: "URL or domain" }
      required: [url]
    outputs_schema: { properties: {} }
  - id: email_reputation
    name: ipqualityscore-email
    description: "Validity, deliverability and fraud/abuse scoring for an email address."
    risk: read
    inputs_schema:
      properties:
        email: { type: string, description: "Email address" }
      required: [email]
    outputs_schema: { properties: {} }
  - id: phone_reputation
    name: ipqualityscore-phone
    description: "Validity, line type and fraud scoring for a phone number."
    risk: read
    inputs_schema:
      properties:
        phone: { type: string, description: "Phone number (E.164 recommended)" }
        country: { type: string, description: "ISO country code hint, e.g. FR" }
      required: [phone]
    outputs_schema: { properties: {} }
  - id: email_leaked
    name: ipqualityscore-email-leaked
    description: "Check whether an email address has appeared in known data breaches."
    risk: read
    inputs_schema:
      properties:
        email: { type: string, description: "Email address" }
      required: [email]
    outputs_schema: { properties: {} }

  - id: test_connection
    name: ipqualityscore-test-connection
    description: "Verify the API key (used by the Test button)."
    risk: read
    inputs_schema:
      properties: {}
      required: []
    outputs_schema: { properties: {} }
