EmailRep · Capability

EmailRep API — Reputation

EmailRep API — Reputation. 1 operation. Lead operation: query reputation, suspicious flag, references count, and detailed intelligence signals for an email address. Self-contained Naftiko capability covering one EmailRep business surface.

Run with Naftiko EmailRepEmailReputationThreat Intelligence

What You Can Do

GET
Queryemailreputation — Query email reputation, suspicious flag, references count, and detailed signals.
/v1/email-reputation/{email}

MCP Tools

query-email-reputation

Query email reputation, suspicious flag, references count, and detailed signals.

read-only idempotent

Capability Spec

emailrep-api-reputation.yaml Raw ↑
naftiko: "1.0.0-alpha2"

info:
  label: "EmailRep API — Reputation"
  description: >-
    EmailRep API — Reputation. 1 operation. Lead operation: query reputation,
    suspicious flag, references count, and detailed intelligence signals for
    an email address. Self-contained Naftiko capability covering one EmailRep
    business surface.
  tags:
    - EmailRep
    - Email
    - Reputation
    - Threat Intelligence
  created: "2026-05-30"
  modified: "2026-05-30"

binds:
  - namespace: env
    keys:
      EMAILREP_API_KEY: EMAILREP_API_KEY

capability:

  # ── 1. Consumes — the upstream HTTP API this capability speaks to ─────
  consumes:
    - type: http
      namespace: "emailrep-api-reputation"
      baseUri: "https://emailrep.io"
      description: "EmailRep API — Reputation business capability. Self-contained, no shared references."
      authentication:
        type: apikey
        key: Key
        value: "{{env.EMAILREP_API_KEY}}"
        placement: header
      resources:
        - name: "email"
          path: "/{email}"
          operations:
            - name: "queryEmailReputation"
              method: GET
              description: "Query email reputation, suspicious flag, references count, and detailed signals."
              inputParameters:
                - name: "email"
                  in: path
                  type: string
                  required: true
                  description: "Email address to query."
                - name: "summary"
                  in: query
                  type: boolean
                  required: false
                  description: "When true, include a human-readable summary field in the response."
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: "$."

  # ── 2. REST exposer — required default. One Spectral-compliant resource per consumed op ──
  exposes:
    - type: rest
      namespace: "emailrep-api-reputation-rest"
      port: 8080
      description: "REST adapter for EmailRep API — Reputation. One Spectral-compliant resource per consumed operation, prefixed with /v1."
      resources:
        - path: "/v1/email-reputation/{email}"
          name: "email-reputation"
          description: "REST surface for email reputation lookups."
          operations:
            - method: GET
              name: "queryEmailReputation"
              description: "Query email reputation, suspicious flag, references count, and detailed signals."
              call: "emailrep-api-reputation.queryEmailReputation"
              with:
                email: "rest.email"
                summary: "rest.summary"
              outputParameters:
                - type: object
                  mapping: "$."

  # ── 3. MCP exposer — required default. One verb-noun tool per consumed op ──
    - type: mcp
      namespace: "emailrep-api-reputation-mcp"
      port: 9090
      transport: http
      description: "MCP adapter for EmailRep API — Reputation. One tool per consumed operation, routed inline through this capability's consumes block."
      tools:
        - name: "query-email-reputation"
          description: "Query email reputation, suspicious flag, references count, and detailed signals."
          hints:
            readOnly: true
            destructive: false
            idempotent: true
          call: "emailrep-api-reputation.queryEmailReputation"
          with:
            email: "tools.email"
            summary: "tools.summary"
          outputParameters:
            - type: object
              mapping: "$."